《性能测试进阶指南Loadrunner11实战》——之录制回放

云层天咨官网:

性能测试四期班5月29日开课啦,目前还剩下4个名额,需要的学习的小伙伴们速度啦!(课程8折优惠哦,8折!8折!)

(一)开始录制

当设置好录制选项后,单击OK按钮启动录制。

首先看到的是Recording Bar,如图A.41所示。稍后会看到IE或者指定的应用程序启动,当进行操作时Events也会随之变化,说明VuGen录制得到了一些协议交互的内容。

                       

             图A.41  Recording Bar

在录制前需要根据需求确定需要录制的用户行为,而录制后需要通过后面的设置来将脚本设置为完全模拟用户行为的Vuser Script。

(二)插入命令

在录制的过程中可以通过Recording Bar添加一些命令。例如,可以切分脚本,将录制的内容存放在不同的脚本块中,也可以添加事务的开始点和结束点,还可以添加集合点和注释。

(三)结束录制

当录制结束后,单击Stop按钮或者使用【Ctrl+F5】组合键停止录制,所有客户端和服务器交互协议会被放在Generation Log内,VuGen随后会对协议交互进行分析,最终生成脚本。

录制完成后,可以在Recording Log中查看相关录制信息,如图A.42所示。而录制中的events条数就是Recording Log中的信息行数。

               图A.42  Recording Log录制日志内容

VuGen能支持多种协议,其关键就在于日志中的开头。

[Network Analyzer (1558:1e94)]----------------------------------------------------------------------------

[Network Analyzer (1558:1e94)] Load NetworkTraffic Analyzers:

[Network Analyzer (1558:1e94)] AnalyzerModule: WPLUS (value=)

[Network Analyzer (1558:1e94)] AnalyzerModule: WebBase (value=GetHttpProtocolAnalyzer:api_http_filter.dll)

[Network Analyzer (1558:1e94)] + NetworkAnalyzer: api_http_filter.dll @ GetHttpProtocolAnalyzer Loaded!

[NetworkAnalyzer (1558:1e94)] + Interception Auditors: 

WinInetWplusInterceptionAudit:api_http_filter.dll

[Network Analyzer (1558:1e94)] AnalyzerModule: QTWeb (value=)

[Network Analyzer (1558:1e94)] AnalyzerModule: local_server (value=)

[Network Analyzer (1558:1e94)]----------------------------------------------------------------------------

在这段日志中可以看到,对HTTP的解析是通过api_http_filter.dll库文件实现的。VuGen通过类似于插件的形式来完成对多种协议的支持,只要有这类的dll文件,就可以完成对该类协议的录制。

另一方面录制得到的所有客户端请求和服务器返回信息将会保存在Generation Log中,如图A.43所示。

录制得到的VuGen脚本就是通过Generation Log生成的。如果录制结束时出错或者错误修改后,想回到最初的状态,那么可以使用Tools菜单下的RegeneratorScript功能来重新生成脚本。

            图A.43 Generation Log请求日志内容

(四)回放验证

脚本生成后可以单击菜单栏中的Run按钮也可直接按【F5】键回放脚本,如图A.44所示。

运行前也可以通过【Shift+F5】组合键检查脚本的语法规则,对脚本进行编译。

回放中可以在Replay Log日志栏中看到脚本执行的日志信息,当脚本回放完成后,如何验证回放结果呢?

这里可以打开View菜单下的Test Results,如图A.45所示。

    

图A.44  工具条上的执行按钮  

    

              图A.45  Test Results测试结果报告

在这个测试结果报告中,可以得到整个脚本回放的记录,还有相关截图,Passed状态

说明脚本运行正常,得到了服务器的反馈。

注意:

  Passed并不能说明脚本完成了相关操作,只能说明服务器端正确接收到了客户端的请求并且返回了相应的数据,但是并不代表操作在逻辑上是正确的。

(五)录制回放常见问题

1.录制错误

1)录制本机WebTours或录制本地网站无法打开

当使用Vista以后的操作系统时,会出现该问题。这是由于在本地Windows\System32\drivers\etc\host文件中多了如下内容:

::1             localhost

将其删除后即可恢复正常。

2)录制网页时,浏览器刚打开就自动关闭,或者浏览器无响应

这是由于在IE中打开了第三方插件支持导致的,一般安装了QTP会出现这个问题。只需要打开IE的属性菜单,找到高级选项,将其中的第三方插件支持关闭即可。

同时可以检查IE关闭其保护模式,并且WindowsDEP数据执行保护为基本Windows程序和服务。

3)开始录制时浏览器出现错误

这个问题一般是由于系统安装的问题或IE版本不兼容导致的,VuGen11最高兼容IE 9.0。

4)录制网页操作后没有任何脚本

VuGen录制只支持IE,对于第三方的浏览器不能很好地兼容(LR11开始支持FireFox某些版本)。

5)录制本机页面可以打开但没有录制到任何Events

在录制时请求的地址为127.0.0.1或Localhost时,偶尔会出现该问题,换成系统真实IP地址即可。

6)录制的时候总是提示无法访问服务器

可以考虑检查一下IE的代理服务器设置。在LoadRunner 8.x中经常会出现VuGen中的代理设置自动覆盖IE7.0的现象。

7)录制的时候有Events但是停止录制没脚本

可以设置录制选项中的端口映射强制系统对特殊端口使用某种过滤规则进行录制。

8)使用VuGen启动某些应用软件进行录制,应用程序无法启动

不是所有的客户端都能被VuGen加载,这时因为这种客户端存在一定的自我保护功能,这样的客户端基本上就没办法使用VuGen直接录制了,对于这种情况如果了解客户端和服务器端的协议格式,那么可以通过自己编写请求来完成脚本开发。

9)启动VuGen录制就出错

一般这个与系统的数据保护有关系。打开计算机属性中的高级,将数据执行保护修改为“仅为基本Windows程序和服务启用DEP”。

2.回放错误

在某些情况下,回放脚本会遇到失败的情况,一般导致脚本回放失败的原因无非以下几种:

1)脚本中的数据存在动态部分

例如脚本是访问一个图片,但是再次回放的时候该图片已经在服务器上被删除了,那么脚本回放时自然就会出现错误,提示该对象无法找到。解决方法是修改代码,删除无用的对象,或者通过关联处理动态数据。

2)脚本没有录制到所有的协议请求

当系统使用多种协议时,如果我们选择的录制协议没有全部包含,就会出现漏录请求的情况,而在回放时由于缺乏部分请求的模拟,就会导致后续的请求内容被服务器拒绝,自然就会出现回放失败的情况。解决方法是通过分析确认系统协议,确保所有请求被录制。

3)系统存在问题

从某些角度来说,VuGen是一种基于协议的木马,可能会被部分杀毒软件或防火墙干扰和影响,导致无法正常访问服务器。解决方法是在录制时关闭不必要的防火墙和杀毒软件。

4)脚本中添加了不合适的关联或检查点函数

在录制选项中打开了自动录制关联规则后,录制出来的脚本会自动添加符合规则的关联函数,而如果在回放时关联函数无法捕获到符合规则的目标则会提示错误。解决方法建议在深入了解关联后再启用该功能。对于检查点函数,关闭Fail功能即可。

5)服务器连接错误

服务器无法连接,导致脚本回放失败。

一般来说回放错误可以通过日志或者Test Results中的截图定位,当有一定的代码调试能力后,就能够轻松解决。

相关热文:

汉口银行性能测试体系建设总结

《性能测试进阶指南 Loadrunner11实战》—之用户行为模拟

关于性能测试中下载的常见误区

商务合作: