LoadRunner检查点
LoadRunner 设置(Text/Image)检查点
通过 VuGen 可在网页上添加搜索文本字符串的检查。可以在录制期间或录制之后添加文本检查。
在创建文本检查时,需要定义检查的名称、检查范围、要检查的文本和搜索条件。
1、 要在录制之后添加文本检查,请执行下列操作:
a) 在VuGen 主窗口中,右键单击与要对其执行检查的网页相应的步骤。从弹出菜单中选择“在之后插入”。将打开“添加步骤”对话框。
b) 在“步骤类型”树中,展开“Web 检查”。
c) 选择“文本检查”,然后单击“确定”。将打开“文本检查属性”对话框。请确保“规格”选项卡可见。
d) 在“搜索”框中,键入要验证其存在与否的字符串。ABC 图标表示尚未为“搜索”框中的字符串分配参数。有关分配参数的详细信息,请参阅第 7 章“定义参数”。
e) 要相对于邻近文本指定搜索字符串的位置,请选中“其右侧”或“其左侧”复选框。然后,在适当的字段中键入文本。例如,要验证字符串support@mercuryinteractive.com是否出现在单词“e-mail:”的右侧,请选中“其右侧”,然后在“其右侧”框中键入“e-mail:”。ABC 图标表示尚未为“其右侧”或“其左侧”框中的字符串分配参数。
f) 命名文本检查。单击“常规”选项卡,然后在“步骤名”框中键入文本检查的名称。使用一个以后容易识别该检查的名称。
g) 属性表显示其他用于定义检查的属性。清除“仅查看活动属性”复选框可以查看活动和非活动属性。要启用某个属性,请单击该属性名左侧的单元格。在“值”列中为属性分配一个值。有关分配属性值的详细信息,请参阅第 454 页的“定义其他属性”。
h) 单击“确定”接受设置。代表新文本检查的图标将被添加到脚本中的关联步骤中。在脚本视图中,“文本检查”图标显示为 web_find 函数。
2、 要在录制期间添加文本检查,请执行下列操作:
a) 使用鼠标标记所需的文本。
b) 单击录制工具栏上的“插入文本检查”图标。
c) 除了使用 web_find 函数外,还可以使用两个其他的增强函数来搜索 HTML 页内的文本:
d) web_reg_find
e) web_global_verification
f) web_reg_find 函数是注册类型函数。它将注册对 HTML 页上的文本字符串进行的搜索。注册意味着它不会立即执行搜索 - 仅在执行下一个操作函数(如web_url)之后,才会执行检查。注意,如果正在使用并发函数组,则web_reg_find 函数仅在分组结束后才会执行。该函数与 web_find 函数的不同之处在于:它并不局限于基于 HTML 的脚本(请参见“录制选项” > “录制”选项卡)。该函数还具有其他属性(如实例)通过该属性可以确定文本出现的次数。在执行标准文本搜索时, web_reg_find是首选函数。
通过 VuGen 可添加在网页上搜索图像的用户定义的检查。图像可以由 ALT 属性、SRC 属性或这两者来标识。可以在录制期间或录制之后添加用户定义的图像检查。录制之后,可以在脚本中编辑任何现有的图像检查。
3、 要添加图像检查,请执行下列操作:
a) 在 VuGen 主窗口中,右键单击与要对其执行检查的网页相应的步骤。从弹出菜单中选择“在之后插入”。将打开“添加步骤”对话框。
b) 在“步骤类型”树中,展开“Web 检查”。
c) 选择“图像检查”,然后单击“确定”。将打开“图像检查属性”对话框。请确保“规格”选项卡可见。
d) 选择一种标识图像的方法:
i. 要使用图像的 ALT 属性来标识图像,请选中“替换图像名(ALT 属性)”复选框,然后键入 ALT 属性。在运行脚本时, Vuser 将搜索具有指定的 ALT 属性的图像。
ii. 要使用图像的 SRC 属性来标识图像,请选中“图像服务器文件名(SRC 属性)”复选框,然后键入 SRC 属性。在运行脚本时, Vuser 将搜索具有指定的 SRC属性的图像。ABC 图标表示尚未为 ALT 或 SRC 属性分配参数。
e) 要命名图像检查,请单击“常规”选项卡。在“步骤名”框中,键入图像检查的名称。使用一个以后容易识别该检查的名称。
f) 属性表显示其他用于定义检查的属性。清除“仅查看活动属性”复选框可以查看活动和非活动属性。要启用某个属性,请单击该属性名左侧的单元格。在“值”列中为属性分配一个值。有关分配属性值的详细信息,请参阅第 454 页的“定义其他属性”。
g) 单击“确定”以接受设置。代表新图像检查的图标将被添加到 Vuser 脚本中的关联步骤中。
可以指定插入到 Vuser 脚本中的每个 Web 检查的其他属性。在检查属性对话框的“常规”选项卡上的属性表中设置其他属性。
LR中检查点有两种:图片和文字。这两种检查点可用以下三个函数实现:web_find()、web_reg_find()和web_image_check()
下面分别介绍三种函数的用法
1、 web_find()函数
a) 函数作用:在页面中查找相应的内容
b) 参数举例:web_find("web_find","RighOf=a","LeftOf=b","What=name",LAST);
c) 参数解释:"web_find"定义该查找函数的名称;“LeftOf”和“RighOf=”用来定义查找字符的左右边界;“What=”定义查找内容。
d) 例如上述参数举例中的意思就是在页面中查找左边界为b,右边界为a,内容为name的信息
e) 函数用法:该函数是在查找页面中的内容,所以要放在要查找的内容的后面。
f) 注意事项:使用该函数时,要在Vuser->Run-Tme Settings中更改下设置,勾选Enable Image and text check
2、 web_reg_find()函数
a) 函数作用:在缓存中查找相应的内容
b) 参数举例:web_reg_find("Search=Body","SaveCount=ddd","Test=aaa",LAST);
c) 参数解释: Search用来定义查找范围,SaveCount定义查找计数变量名称,该参数可以记录在缓存中查找内容出现的次数,可以使用该值,来判断要查找的内容是否被找到
d) 例如上述参数举例中的意思就是Body中查找内容为aaa的信息,并将出现次数记录在变量ddd中。
e) 函数用法:该函数是在缓存中查找相应的内容,所以要放在查找内容之前。
f) 注意事项:在录制过程中添加的检查点,用到的函数是web_reg_find(),且参数只有“Text=”
3、 web_image_check()函数
a) 函数作用:在页面中查找一个具体的图片。
b) 参数说明:web_image_check("web_image_check","Alt=","Src=",LAST);;
c) 参数解释:“Alt”和“Src”的值直接取该图片在网页源代码中相应参数的值。
d) 函数用法:该函数是在缓存中查找相应的内容,所以要放在查找内容之前。
e) 注意事项:使用该函数时,要在Vuser->Run-Tme Settings中勾选Enable Image and text check,具体操作请看web_find()中的注意事项。
经过测试,该函数用到查找内容前面或后面,都不影响查找结果。
举例说明(脚本):
该脚本记录的是登陆系统后退出的操作,在脚本中用到atoi()函数和lr_eval_string(”{SaveCount定义的变量}”)两个函数结合使用,判断查找内容出现的次数是否大于0,若大于0,则输入登录成功的信息。
vuser_init()
{
web_url("xjcost",
"URL=http://gczj-server8:9205/xjcost/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
EXTRARES,
"Url=jsp/images/index/index.swf", ENDITEM,
"Url=jsp/images/index/xxfb2.gif", ENDITEM,
"Url=jsp/images/index/ywpt2.gif", ENDITEM,
LAST);
web_url("userAction.struts",
"URL=http://gczj-server8:9205/xjcost/userAction.struts?actionType=reLogin",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t2.inf",
"Mode=HTML",
LAST);
return 0;
}
Action()
{
lr_start_transaction("Log_on");
lr_rendezvous("Log_on");
web_add_cookie("userAccount=admin; DOMAIN=gczj-server8");
web_reg_find("Text=欢迎您",
"SaveCount=欢迎您_Count",
LAST);
web_image_check("web_image_check",
"Src=/xjcost/jsp/images/index1/edit_01.gif",
LAST);
web_submit_data("userLogin.struts",
"Action=http://gczj-server8:9205/xjcost/userLogin.struts?actionType=userLogin",
"Method=POST",
"RecContentType=text/html",
"Referer=http://gczj-server8:9205/xjcost/userAction.struts?actionType=reLogin",
"Snapshot=t3.inf",
"Mode=HTML",
ITEMDATA,
"Name=userAccount", "Value=admin", ENDITEM,
"Name=pwd", "Value=1111", ENDITEM,
EXTRARES,
"Url=jsp/images/index1/edit_01a.gif", "Referer=http://gczj-server8:9205/xjcost/userLogin.struts?actionType=userLogin", ENDITEM,
LAST);
web_find("web_find",
"What=欢迎您",
LAST);
lr_end_transaction("Log_on",LR_AUTO);
//检查是否登录成功
//如果“欢迎您”这个字符出现次数大于0,输出“Log on successfully!”
if(atoi(lr_eval_string("{欢迎您_Count}"))>0)
lr_output_message("Log on successfully!");
else
lr_error_message("Log on failed!");
return 0;
return 0;
}
//atoi()函数的作用是将一个ASCII字符串转换为整型
//lr_eval_string()函数作用是取得参数值,将字符串变量中的参数值替换为当前的参数值并将这个字符串返回
vuser_end()
{
lr_think_time(4);
web_url("userAction.struts_2",
"URL=http://gczj-server8:9205/xjcost/userAction.struts?actionType=reLogin",
"Resource=0",
"RecContentType=text/html",
TAG: