性能测试的一个重要环节就是准备测试脚本,在使用LoadRunner压测工具录制脚本的过程中,经常会有人有这样的疑问,基于HTML(HyperText Markup Language 超文本置标语言)模式录制与基于URL(Uniform Resource Locator的缩写,统一资源定位符,也被称为网页地址,是因特网上标准的资源的地址。)录制模式到底有什么不同?什么情况下会去选择使用URL模式去录制我们的业务脚本?什么情况下会去选择使用HTML模式去录制我们的业务脚本?
在使用性能测试工具LoadRunner进行脚本录制时,当你使用http协议录制脚本的时候,你是可以选择html格式录制,也可以选择url模式录制,这两种模式是有区别的,url模式脚本的代码量会比较多,而html模式,是针对一系列的操作,比如说他是占一个点击,然后将这个点击的所有操作、抓取到的的资源都整合成一个完整的请求,相对于url模式代码量看起来就比较少,界面也更加简洁一点。
但是有这样一种情况,如果一个页面存在页面缓存机制的话,我们使用url模式录制的时候,会比较真实地反映资源的加载,它就不会加载那些已经缓存过的资源。但是如果用html模式录制的话,因为它是针对整个请求的一个整合,由于机制的一个原因,多次迭代之后,它会反复加载那些已经缓存了的资源。这样最终的性能测试结果html模式录制的就会比url模式录制的回放时间长,性能结果也会更长。
在大多数情况下,我们都会选择URL模式去录制我们基于Web(HTTP/HTML)协议的脚本,因为现在的应用为了安全性,都会包含像session ID、token等动态信息。简单的说就是每一访问,服务端都会给客户端发送一个描述会话的session信息,而session ID使用的是动态的生成技术。如果要是脚本能够正常回放,通常需要把这个动态的信息保存下来,这个需要使用到correlation技术(也就是关联技术)。