Loadrunner中的检查点函数,主要介绍两个函数:web_find()和web_reg_find() 这两个函数均用于内容的查找,但两者也有本质的区别,具体介绍如下:
一、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语法中不支持该函数。
该函数有以下一个缺点:
1、执行效率较低。
2、不返回查找结果情况,如想在执行该函数后根据查找结果做进一步操作时,没有返回值可以依据。
例如:
在页面中查找“登录成功”的字符串,如果找到该字符串在日志中输出“登录成功”,如果找不到该字符串,则在日志中输出“登录失败”,此时使用该函数没有依据来做此判断,但使用web_reg_find()函数,使用它其中的SaveCount可以进行判断,具体方法我们下面介绍。
二、web_reg_find()函数
该函数的作用是“在缓存中查找相应的内容”,常用参数及含义如下:
web_reg_find("Search=Body",//定义查找范围 "SaveCount=ddd",//定义查找计数变量名称(在该函数的参数中有个“SaveCount”,该参数可以记录在缓存中查找内容出现的次数,我们可以使用该值,来判断要查找的内容是否被找到) "Text=aaaa",//定义查找内容 LAST);
|
例:使用LR自带的例子
Action()
{
web_url("mercuryWebTours",
"URL=http://127.0.0.1:1080/mercuryWebTours/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
LAST);
lr_think_time(4);
web_reg_find("Text=welcome","SaveCount=ddd",
LAST);
web_submit_form("login.pl",
"Snapshot=t2.inf",
ITEMDATA,
"Name=username","Value={NewParam}",ENDITEM,
"Name=password","Value={NewParam_1}",ENDITEM,
"Name=login.x","Value=42",ENDITEM,
"Name=login.y","Value=9",ENDITEM,
LAST);
lr_think_time(14);
web_image("SignOff Button",
"Alt=SignOff Button",
"Snapshot=t3.inf",
LAST);
if(atoi(lr_eval_string("{ddd}"))>0){
lr_output_message("222222222222222222222222.");}//atoi():转换一个ASCII字符串为一个整型。lr_eval_string():是取得参数值,lrs_send("socket0", lr_eval_string("buf2"), LrsLastArg);lr_eval_string很有用,它将字符串变量buf2中的参数替换为当前的参数值并将这个字符串返回。lr_output_message(const char *format, exp1, exp2,……expn.);中文解释:lr_output_message函数将带有脚本部分的行号的消息发送到输出窗口和日志文件。
else
{
lr_error_message("55555555555555555555555");//lr_error_message(const char *format, exp1, exp2,……expn. );中文解释:lr_error_message函数将错误消息发送到输出窗口和Vuser日志文件。要发送不是特定错误消息的特殊通知,请使用lr_output_message
}
return0;
}