0
点赞
收藏
分享

微信扫一扫

Loadrunner中web_find和web_reg_find函数的使用与区别

一.Web_reg_find函数的说明及其例子

Web_reg_find()函数

该函数的作用是“在缓存中查找相应的内容”

Web_reg_find(“Search=Body”,//定义查找范围

”SaveCount=ddd”,//定义查找计数变量名称

”Text=aaaa”,//定义查找内容

LAST);

使用该函数注意事项:

1.位置

该函数要写在要查找内容的请求之前,通常情况写在如下六个函数之前:

Web_castom_request();web_image();web_link();web_submit_data();web_submit_form();web_url()

插入函数的方法

(1)将脚本切换到树结构,在page view页面上找到你要check得文本内容,并执行鼠标右键,选择copy selection

将脚本切换回代码界面,在光标闪烁的上行,添加如下的代码:

备注:光标闪烁的上行:若光标闪烁为第10行,那光标闪烁的行为为第9行。

(2)手工写入,在需要插入函数的位置手工写入该函数

(3)光标停留在要插入函数的位置,在insert菜单中,选择new step,在列表中选择或查找要插入的函数,根据提示填写必要的参数

(4)在tree view模式下,在树状中选中要插入函数的位置,点击鼠标右键,选择insert after或insert before,根据提示填写必要的参数

添加的代码根据你检查的方式不同而不同,你可以选择其中之一即可。

 

代码一:

Web_reg_find(“Text=Payment Details”,LAST);

代码思路:

1.”Payment Details”为你要检查的文本;

2.脚本执行到此处,若在页面上找到了这几个字符串,那脚本继续执行下去,若没有找到,脚本将在此报错并且结束。

 

代码二:

Web_reg_find(“Text=Payment Details”,”SaveCount=para_count”,LAST);//check的函数

Web_submit_form(“reservations.pl_2”,

“Snapshot=t22.inf”,

ITEMDATA,

“Name=outboundFlight”,”Value=003;0;06/23/2007”,ENDITEM,

“Name=reserveFlights.x”,”Value=61”,ENDITEM,

“Name=reserveFlights.y”,”Value=2”,ENDITEM,

LAST);

If(atoi(lr_eval_string(“{para_cont}”))>0)//判断如果被检查的字符串出现次数大于0

Lr_output_message(“we find the string!”);//在日志中输出we find the string

Else//如果出现次数小于等于0

lr_output_massage(“sorry,don’t find the string”);//在日志中输出sorry,don’t find the string

代码思路:

1.”Payment Details”为你要检查的文本;

2.脚本执行到此处,不管页面上是否存在你要检查的字符串,脚本都不会报错,而是执行下去。

3.此段代码将要找到的你要检查的字符串的个数,存为一个参数。然后在页面代码的后面,通过检查这个参数的值是否大于0,来判断是否找到了你所要检查的字符串。

 

代码三:

A:web_reg_find(“Text=Payment Details”,”Fail=NotFound”,LAST);

B: web_reg_find(“Text=Payment Details”,”Fail=Found”,LAST);

代码思路:

1.”Payment Datails”为你要检查的文本;

2.若是A代码:脚本执行到此处,若没有找到check的字符串,脚本将FAIL,并且停止执行下去。反之,则一直执行下去。

3.若是B代码:脚本执行到此处,若找到check的字符串,脚本将FAIL,并且停止执行下去。反之,则一直执行下去。

 

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

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

 

 

二.Web_find()函数

该函数的作用是“在页面中查找相应的内容”,常用参数及含义如下:

 

Web_find(“web_find”,//定义该查找函数的名称

“RightOf=a”,定义查找字符的右边界

“LeftOf=b”,定义查找字符的左边界

“What=name”,定义查找内容

LAST);

使用该函数注意一下事项:

 

1.位置

该函数在页面内容显示出来以后,在页面中进行查找,所以只能写在要查找内容之后

2.录制模式

该函数只能再基于HTML模式录制的脚本中进行查找

3.必须启用内容检查选项

在runtime setting->Preferences里面,把Enable image and text check选中,否则不执行该查找函数

4.在VB和Java语法中不支持该函数

5.被查找的文本内容中间不要有空格,否则运行后有错误

该函数有以下缺点

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

2.不返回查找结果情况,如想在执行该函数后根据查找结果做进一步操作时,没有返回值可以依据。

例如:

在页面中找到“登录成功”的字符串,如果找到该字符串在日志中输出“登录成功”,如果找不到该字符串,则在日志中输出“登录失败”,此时使用该函数没有依据来做判断,但使用web_reg_find()函数,使用它其中的SaveCount可以进行判断。

总结

1.这两个函数函数类型不同,web_find是普通函数,web_reg_find是注册类函数

2.Web_find使用必须开启内容检查选项,而web_reg_find则没有此限制

3.web_find只能用在基于html模式录制的脚本中,而web_reg_find没有此限制

4.Web_find是在返回的页面中进行内容查找,web_reg_find是在缓存是进行查找

5.Web_find在执行效率上不如web_reg_find



举报

相关推荐

0 条评论