摘要:在实际工作中碰到LoadRunner脚本未使用检查点而导致错误的性能测试,从而认识到检查点的重要性。
关键词:LoadRunner检查点;LoadRunner;检查点
初学LR性能测试工具难免有些错误的认识!我第一次学习LR并尝试使用LR做性能测试时对检查点不甚了解,所以就一直没有使用过。后来还听前辈们说:"在脚本里面加检查点,会影响性能,尤其在做场景压力测试时会影响场景执行时间,因为脚本执行到检查点要做判断,还要去找相应的检查点内容,判断这个检查点检查的内容是否存在",后来经过对检查点的学习和使用发现,并不是那么回事,检查点不会影响场景的执行时间,因为LR本身会忽略检查点的执行时间!所以建议大家以后脚本中需要适当的插入检查点!
学习LR我也和大家一样,第一个上手之作就是登录的并发,检验系统能够并发多少用户数以及并发这么多用户数所需要的时间及系统的承受能力!这也就是最简单的性能测试场景了!当时录制好脚本并参数化用户名和密码后,插入集合点,插入事务后调试脚本是没有问题的,就开始设置场景了。我用50个虚拟用户并发场景执行成功,虚拟用户数全部通过,并且没有错误事务产生,但我在Tomcat的控制台发现,有用户登录是失败的,这是怎么回事呢?后来我就用登录失败的用户手工登录系统确实无法登录成功,报:"该用户已登录,请勿重复登录!",这个是我们系统设定的,别的机器上登录了这个用户,另外一台机器就不能再登录这个用户了。这时我加入了一些系统不存在的用户名,执行脚本也没有报错,这就说明脚本确实有问题。重新录制了几次都是这样结果。后来上51testing查找到了该原因,是没有插入检查点导致的!LoadRunner以用户名为角色向服务器发送一个登陆请求,却不会判断请求的返回消息是什么,只要有返回,即使这是个拒绝登陆的返回,LoadRunner也认为这个用户名登陆成功了,其实这个用户名登录是失败的。所以在登录或者其他有重要页面跳转的地方,很有必要做检查点。我根据大虾的方法插入了Web_find检查点并且在设置中打开"图像和文本检查"的功能,再次执行脚本结果报错了,原因是我加入的虚拟用户名不存在导致的,执行场景后发现,虚拟用户有失败数,事务也有失败数,达到了预期的结果!也证明了检查点在LR中确实很重要!
现在我就详细的介绍下LR中的四种常用检查点函数:Web_find()、Web_reg_find()、Web_image_check()和Web_global_verification()。
一、Web_find()函数
该函数的作用是"在页面中查找相应的内容,也就是你自己定义的检查点在某页面上能否找到匹配的内容",该函数的格式如下:
web_find("log_name", //定义该查找函数的名称
"RightOf=UserName",//定义查找字符的右边界
"LeftOf=PassWord",//定义查找字符的左边界
"What=Name", //定义查找内容
LAST);//结束函数
使用该函数注意以下事项:
……………………
查看全文请点击下载:http://www.51testing.com/html/39/n-234539.html
三、Web_image_check()函数:
这个函数比较简单,写在对应的web_url后面即可。这里说明一下对应的src可以在脚本执行后的日志里面找到,日志记录的是完整路径,src部分只要相对路径就可以了。该函数的格式如下:
web_image_check("web_imagelogin", // 定义检查范围
"Src={login name} ", // 定义识别图像类型为Src
"Alt={login password}", //定义识别图像类型为Alt
" images= Index_bg.jpg ", // 定义查找内容
LAST); // 结束函数