web_reg_find是先注册(register)后查找的;使用时将它放在请求语句的前面。

而web_find是查找前面的请求结果;使用时将它放在请求语句的后面。



另二者的参数也完成不一样的,web_reg_find参数中SaveCount记录查找匹配的次数,

web_find的机制是一旦查找匹配成功就立即返回,并不继续查找和记录匹配次数



再者Run-time设置中的“enable image and textcheck”对web_find有效,而对web_reg_find无效。

注意:web_find不支持URL模式下录制的脚本。



执行效率:

web_reg_find可以直接在内存里面检查所指定对象是否存在;而web_find是文本检查点,需要对应页面完全显示出来之后,才会执行检查。概言之,使用web_reg_find不用启用文本检查点功能;使用web_find就一定要启用文本检查点功能,否则检查点无效。

很显然,前者比后者执行效率要高,这也是LR要不建议使用后者的原因。

而web_reg_find()就不能通过它的返回值来作为事务的判断条件,因为web_reg_find()的返回值0和1表示web_reg_find()是否注册成功(web_reg_find是注册类型函数,它本身并不执行),并不代表查找的内容是否存在,也就是说无论查找的文本内容是否存在,都返回0,(和web_find的返回值意义就不同了)。



我想问的是有什么方法用web_reg_find()来作为事务的判断条件?

利用web_reg_find创建的参数SaveCount ,作为判断条件就可以了(如SaveCount>0)



web_find()(帮助不太推荐使用web_find而是推荐使用web_reg_find)要写在请求后,也就是要在事务内了。这样通过事务统计出来的响应时间就(包括了web_find()这个函数的执行时间)不真实了。而web_reg_find()是写在请求前面的。如果能用web_reg_find()来作为事务结束条件,那就是最好的.

事务时间等于Duration-Wasted Time,web_reg_find执行的时间Loadrunner会自动减掉的

另,LR自身已经提供了关于Page title的检查点的设置。路径: Recording setting >Advanced.



脚本示例:

同样的script, 如果添加web_reg_find,事务运行结果失败:

Action.c(50): Error -26366:"Text=Dashboard" not found for web_reg_find         [MsgId:MERR-26366]

Action.c(50):web_submit_form("wp-login.php_2") highest severity level was"ERROR", 39882 body bytes, 3207 header bytes, 12 chunking overheadbytes         [MsgId:MMSG-26387]

Action.c(50): Notify: Transaction"Login_WordPress" ended with "Fail" status (Duration: 5.9267 WastedTime: 0.0000).

Ending action Action.

Endingiteration 2.

而如果没有同,整个事务,包括 action运行成功:

Action.c(110):web_url("index-extra.php_5") was successful, 1047 body bytes, 2682header bytes, 12 chunking overhead bytes         [MsgId:MMSG-26385]

Action.c(124): Log onsuccessfully

Ending action Action.

Ending iteration 2.



Action()
{

int status; //定义变量,用于判断登陆是否成功
//   web_add_cookie("rtime=1;DOMAIN=bjdns2.cncmax.cn");
//
// web_add_cookie("ltime=1303876351121;DOMAIN=bjdns2.cncmax.cn");
//
//web_add_cookie("cnzz_eid=64563578-1302487037-http://bjdns2.cncmax.cn:8080/?HOST=home.beyondsoft.com&R=/&DOMAIN=bjdns2.cncmax.cn");
//
//web_add_cookie("JSESSIONID=E73D3BF7B18442F72B93F5EF37B5E545;DOMAIN=bjdns2.cncmax.cn");

web_url("bjdns2.cncmax.cn:8080",
"URL=http://bjdns2.cncmax.cn:8080/?HOST=wpad.beyondsoft.com&R=/wpad.dat&",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
LAST);

// web_add_cookie("wp-settings-time-1=1304042778;DOMAIN=demo.opensourcecms.com");
//
// web_add_cookie("wordpress_test_cookie=WP+Cookie+check;DOMAIN=demo.opensourcecms.com");
//
//web_add_cookie("wordpress_logged_in_613541581fd3dd54ee5153849996d0f6=admin|1304215578|8148fb498981bf15c2f239b9d3dbdf5d;DOMAIN=demo.opensourcecms.com");
//
//web_add_cookie("wordpress_613541581fd3dd54ee5153849996d0f6=admin|1304215578|616ad0d48cfd28158b012254e00fe732;DOMAIN=demo.opensourcecms.com");
//
web_url("wp-login.php",
"URL=http://demo.opensourcecms.com/wordpress/wp-login.php",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t2.inf",
"Mode=HTML",
EXTRARES,
"URL=wp-admin/images/button-grad.png", ENDITEM,
"URL=wp-admin/images/white-grad.png", ENDITEM,
"URL=wp-admin/images/logo-login.gif", ENDITEM,
LAST);

loadrunner:文本检查点web_reg_find和web_find两个函数的区别的更多相关文章

  1. 文本检查点web_reg_find和web_find两个函数的区别

    LR脚本实战:文本检查点web_reg_find和web_find两个函数的区别   web_reg_find是先注册(register)后查找的:使用时将它放在请求语句的前面. 而web_find是 ...

  2. array_unique和array_flip 这两个函数的区别

    array_unique和array_flip 这两个函数的区别 标签(空格分隔): php array_unique 和 array_flip 验证 1 没有排序的数组 2 array_unique ...

  3. loadrunner文本检查点

    将脚本切换回代码界面, 在光标闪烁的上行,添加如下的代码: 添加的代码根据你检查的方式不同而不同, 你可以选择其中之一即可. 代码一: web_reg_find("Text=Payment ...

  4. LoadRunner 文本检查点使用

    在测试时,我们可以根据文本检查点判断事务是否执行正确.   我们在启动流程时,成功返回:   我们检查这个响应结果是否有. int i=0; i=web_reg_find("Text=\&q ...

  5. JQuery获取元素宽度.width()与.css(‘width’)两个函数的区别

    整理翻译自:http://blog.jquery.com/2012/08/16/jquery-1-8-box-sizing-width-csswidth-and-outerwidth/ 大意是: 在J ...

  6. jQuery: 刨根问底 attr and prop两个函数的区别

    In this short post I will explain the difference between attributes and properties in HTML. The .pro ...

  7. 转:检查点(web_reg_find函数详解)

    LR检查点 设置检查点的目的不只是为了验证我们的脚本没有错误,而更重要的是一个规范问题,如何使得测试结果更具有说服力,因此建议所有的测试脚本中都添加检查点设置 一.设置检查点的方法 1.将脚本切换到树 ...

  8. LoadRunner设置检查点的几种方法介绍

    前段时间在群里跟大家讨论一个关于性能测试的 问题,谈到如何评估测试结果,有一个朋友谈到规范问题,让我颇有感触,他说他们公司每次执行压力测试的时候,都要求脚本中必须有检查点存在,不然测试结果 将不被认可 ...

  9. Loadrunner 11检查点使用方法总结

    在使用Loadrunner 11进行性能测试中,有时需要对性能测试中的功能是否全部正确进行判断.这里就需要用到“检查点”,本文总结了常用三种协议下检查点的使用方法,希望阅读本文后的小伙伴们能够掌握其使 ...

随机推荐

  1. CodeForces985F:Isomorphic Strings (字符串&hash)

    题意:取出字符串Str里的两个串S,T,问对应位置的的字符在否有一一映射关系. hash:对于每个字符s=‘a’-‘z’,我们任意找一个i,满足Si==s,(代码里用lower_bound在区间找到最 ...

  2. [Selenium] HTML5 中的 Geolocation

    在 HTML5 ,新特性 Geolocation 用于定位用户位置信息. 由于用户位置信息是敏感信息,所以需要得到用户允许后,才能让程序通过 API  获取当前用户信息.WebDriver 程序每次重 ...

  3. iOS NSInteger/NSUInteger与int/unsigned int、long/unsigned long之间的区别!

    在iOS开发中经常使用NSInteger和NSUInteger,而在其他的类似于C++的语言中,我们经常使用的是int.unsigned int.我们知道iOS也可以使用g++编译器,那么它们之间是否 ...

  4. rsync(二):inotify+rsync详细说明和sersync

    以下是rsync系列篇: inotify+rsync 如果要实现定时同步数据,可以在客户端将rsync加入定时任务,但是定时任务的同步时间粒度并不能达到实时同步的要求.在Linux kernel 2. ...

  5. Makefile的引入及规则

    ARM裸机1期加强版视频课程配套WiKi第9课第5节_Makefile的引入及规则. 文字不能完全替代视频,所以如果你看了这些文章不太懂,建议购买视频进一步学习. 视频购买地址:100ask.taob ...

  6. bzoj1304

    树形dp 题目是要求最深的颜色 先开始觉得设dp[i][0/1/2]表示这个点的状态,然后发现没办法保证该点是最深的点,且dp状态没有实际意义,其实dp[i][0/1]表示当前i的子树颜色为c^1的叶 ...

  7. (转)Eclipse4.2 Tomcat启动报错 A child container failed during start

     Eclipse4.2 Tomcat启动报错 A child container failed during start 2013-5-21 15:02:24 org.apache.catalina. ...

  8. D3.js 线段生成器 (V3版本)

    线段生成器 与线段生成器相关的方法: d3.svg.line() //创建一个线段生成器.   line(data) //使用线段生成器绘制data数据.   line.x([x]) //设置或获取线 ...

  9. POJ3616【基础DP】

    //因为同一点结束的时间段会有多个,这里没考虑: //无限wa: const int N=1e6+7; int b[N]; LL a[N]; LL dp[N]; struct asd{ int s; ...

  10. python 合集set,交集,并集,差集,对称差集别搞混

    有集合 x与y x = {1,2,3,4,5}y = {4,5,6,7,8} x和y的交集为 {4,5} x和y的对称差集{1, 2, 3, 6, 7, 8} x和y的并集{1, 2, 3, 4, 5 ...