【转】loadrunner中页面检查web_reg_find函数详解
环境:
Loadrunner版本:8.0
自建一个test.html文件:
<html>
<head>
<meta name="google1" content="google2"/>
<title>google3</title></head>
<body>
google4:<input type="text" name="google5" />
<input type="submit" value="google6"/><br>
<a href="http://www.google.com/calendar/render?hl=zh-CN&tab=wc" class="gb2">google7</a><br>
<img src=http://www.google.cn/intl/zh-CN/images/logo_cn.gif width=200 height=88 border=0 alt="google8" title="Google9">
<img src=http://www.google.cn/intl/zh-CN/images/logo_cn.gif width=200 height=88 border=0 alt="google8" title="Google9">
</body>
</html>
语法: int web_reg_find (const char*attribute_list, LAST);
参数:
1、attribute_list:
通过Name=Value对来传递参数。例如“Text=string”。Text,TextPfx,TextSfx三个必须有一个出现。其他的属性是可选的。
Text:要搜索的字符串,字符串必须非空,以NULL结尾。可以使用text flags自定义搜索字符串。
TextPfx:要搜索的字符串的直接前缀。
TextSfx:要搜索的字符串的直接后缀。
Search:搜索的范围。可选的值是:Headers(search only the headers) 、Body(search only the Body data)、Noresource (search only the HTML body, excluding headers and resources)、ALL (search body , headers, and resources),默认值是“BODY”。
SaveCount:保存到参数中的匹配的字符串的个数。使用这个属性,需要指定“SaveCount=param”。检查操作被执行后,param 的值是null结尾的数字类型的值。
Fail:设置函数检查在什么状态下失败。可以是“Found或“NotFound”。默认是“NotFound”。
ID:日志文件中标识此函数的一个字符串。
RelFrameId:相关联的FrameId。注意:此参数在GUI级别的脚本中不受支持。
2、LAST:属性列表结束的标记符。
说明:
1、web_reg_find属于注册函数,注册一个在web页面中搜索文本字符串的请求,在接下来Action(象web_url)类函数中执行搜索。
2、通过查找期望的字符是否存在来验证是否返回了期望的页面。例如,通过查找“Welcome”来检查主页是否完全打开了。也可以查找“Error”检查浏览器是否发生错误。还可以使用此函数注册一个请求来统计特定字符串出现的次数。
如果检查失败,在接下来的Action类的函数中会报告错误。此函数仅仅注册请求,并不执行。函数的返回值只表明注册是否成功,并不表示检查的结果。
3、此函数不仅能够查找text,还能查找到围绕着text的strings。不要同时指定text和前缀后缀。
4、此函数在HTML-based和URL-based的脚本中都可以使用。此函数是在所请求内容到达之前注册搜索请求的,所以当所请求内容一到达后就会执行搜索,产生的脚本比较高效。
示例:
Loadrunner脚本:
……
web_reg_find ("Text/IC=google",
"Search=Body",
LAST);
web_url("google",
"URL=http://127.0.0.1:8000/test.html",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode= HTTP ",
LAST);
web_url("google",
"URL=http://www.baidu.com/",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTTP",
LAST);
……
运行结果:
Starting action Action.
Action.c(7): Registering web_reg_find was successful [MsgId: MMSG-26390]
Action.c(12): Registered web_reg_find successful for "Text=google" (count=14) [MsgId: MMSG-26364](注:这里的count=14是URL=http://127.0.0.1:8000/test.html页面的所有Google数)
Action.c(12): web_url("google") was successful, 538 body bytes, 295 header bytes [MsgId: MMSG-26386]
Action.c(22): web_url("google") was successful, 1714 body bytes, 372 header bytes [MsgId: MMSG-26386]
Ending action Action.
解释:
由上面的结果可以看出,web_reg_find 只在其之后的一个Action类函数中下第一个函数执行搜索。不同的web_url或者接口要分别加上web_reg_find函数
感谢帅胡的文章,https://www.cnblogs.com/hushaojun/p/5651766.html