5.8.3 检查点实施之二:检查函数
另外一种设置方法是在Web Vuser里,通过检查函数来完成检查点功能。 Web Vuser提供Image Check和Text Check两种方式。其原理就是在上一个请求页面的函数完成后,运行检查函数,在结果页面中搜索既定的图片/关键文字。
以下是取自LoadRunner函数手册的一个Text Check例子:
Web_url("index.html", "URL=http://server1/people/employees.html", "TargetFrame=", LAST); web_find("Employee Check", "expect=notfound", "matchcase=yes", "onfailure=abort", "report=failure", "repeat=no", "what=John", LAST); } |
在这个例子中,web_find函数在employees.html中搜索“john”关键字。有关web_find函数的各个参数的含义以及使用方法,可参看LoadRunner随带的函数手册。
Image Check的功能则由另外一个函数web_image_check实现: web.url("index.html", "URL=http://localhost/ImagesAndMaps.html", new String [] { "TargetFrame=", "LAST"}); web_image_check("Go2Venus", new String []{"Alt=Venus", web.LAST}); |
这同样是一个Web Vuser脚本,是用Java实现的,而不是录制时默认生成的C语言。Web_image_check则在 ImageAndMaps.html中查找alt属性为“venus”的图片。
提示:LoadRunner一直是使用C作为脚本语言的。在Java普及应用的当今,LoadRunner开始加大对Java的支持力度,这表现在LoadRunner对原先运行在C基础上的Vuser同样提供了Java运行环境,而一些经常使用的 LoadRunner C函数也有了相同的Java函数实现。比如在Web Vuser中,原先的web_url函数摇身一变,在Java中成了web.url;另外,对于CORBA、RMI的Vuser,VU可以直接录制生成Java脚本。需要注意的是:Java脚本的录制选项和关联方法等与C脚本都有一些差别,可以参看LoadRunner的VU手册。
如果我们看过LoadRunner的函数手册,就会发现VU的Web Vuser还提供了和web_find十分貌似的另外一个检查点函数:web_reg_find。
web_reg_find里的reg意为注册(register)。因此web_reg_find和 web_find的不同之处是web_reg_find是先注册,后查找;而web_find是查找前面的请求结果。因此,我们在使用 web_reg_find函数的时候,将它放在请求语句的前面,如下:
web_reg_find("Text=ABC", "SaveCount=abc_count", LAST); web_url("MercuryWebTours", "URL=http://localhost/hello.html", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t1.inf", "Mode=HTML", LAST); if (strcmp(lr_eval_string("{abc_count}"), "0") == 0) Action A else Action B |
上面的脚本运行过程是:如果web_reg_find在hello.html页面中没有找到“welcome”字符串,则执行 Action A;如果找到了一次或一次以上,则执行Action B。
我们可以看到,web_find和web_reg_find函数两者是有一些差别的:
(1)web_reg_find先注册的优势是脚本能够一边接收Server的数据缓冲,一边进行查找,提高了查找的效率。
(2)web_reg_find的参数与web_find并不完全一样,其中有个参数叫做 SaveCount,它能够记录查找匹配的次数。而web_find的机制是一旦查找匹配成功,就立即返回,并不继续查找和记录匹配次数。
(3)VU run time设置中的 “enable image and text check”对 web_find有效,而对web_reg_find无效。
5.8.4 检查点设置技巧
如何加入检查点,才能检查出正确的结果。与事实相符,这的确有一些技巧:
(1)它必须满足是验证事务通过与否的充分必要条件。检查点通过,我们就能够确信系统是一个正常的状态。
(2)检查点可以是常量,也可以是变量。
(3)检查点可以是文本、图像文件,也可以是数据库记录等。
连载一 连载二 连载三 连载四 连载五 连载六 连载七 连载八 连载九 连载十 连载十一 连载十二
连载十三 连载十四 连载十五 连载十六 连载十七 连载十八 连载十九 连载二十 连载二十一
本文选自:《51Testing软件测试作品系列》之一的《性能测试从零开始——LoadRunner入门》,本站经电子工业出版社和作者的授权,近期将进行部分章节的连载,敬请期待!
版权声明:51Testing软件测试网及相关内容提供者拥有 51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们。