51Testing丛书连载:(二十三)性能测试从零开始——LoadRunner入门

发表于:2008-8-27 18:38

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:柳胜    来源:51Testing软件测试网

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软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号