Action()
{
web_url("WebTours",
"URL=http://127.0.0.1:1080/WebTours/",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t7.inf",
"Mode=HTML",
LAST);
web_url("WebTours_2",
"URL=http://127.0.0.1:1080/WebTours/",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t8.inf",
"Mode=HTML",
EXTRARES,
"Url=../favicon.ico", "Referer=", ENDITEM,
LAST);
web_url("sign up now",
"URL=http://127.0.0.1:1080/WebTours/login.pl?username=&password=&getInfo=true",
"TargetFrame=body",
"Resource=0",
"RecContentType=text/html",
"Referer=http://127.0.0.1:1080/WebTours/home.html",
"Snapshot=t9.inf",
"Mode=HTML",
LAST);
web_url("login.pl",
"URL=http://127.0.0.1:1080/WebTours/login.pl?username=&password=&getInfo=true",
"TargetFrame=info",
"Resource=0",
"RecContentType=text/html",
"Referer=http://127.0.0.1:1080/WebTours/home.html",
"Snapshot=t10.inf",
"Mode=HTML",
LAST);
web_reg_find("text= Thank you, {username}",
LAST);
web_submit_data("login.pl_3",
"Action=http://127.0.0.1:1080/WebTours/login.pl",
"Method=POST",
"TargetFrame=info",
"RecContentType=text/html",
"Referer=http://127.0.0.1:1080/WebTours/login.pl?username=&password=&getInfo=true",
"Snapshot=t12.inf",
"Mode=HTML",
ITEMDATA,
"Name=username", "Value={username}", ENDITEM,
"Name=password", "Value={password}", ENDITEM,
"Name=passwordConfirm", "Value={password}", ENDITEM,
"Name=firstName", "Value=sdf", ENDITEM,
"Name=lastName", "Value=dsf", ENDITEM,
"Name=address1", "Value=sdf", ENDITEM,
"Name=address2", "Value=asdf", ENDITEM,
"Name=register.x", "Value=43", ENDITEM,
"Name=register.y", "Value=9", ENDITEM,
LAST);
return 0;
}
web_reg_find
语法:
int web_reg_find (const char *attribute_list, LAST);
参数:
1、attribute_list:
通过Name=Value对来传递参数。例如“Text=string”。Text,TextPfx,TextSfx三个必须有一个出现。其他的属性是可选的。
a) Text:要搜索的字符串,字符串必须非空,以NULL结尾。可以使用text flags自定义搜索字符串,字符中不能含空格。
b) TextPfx:要搜索的字符串的直接前缀。
c) TextSfx:要搜索的字符串的直接后缀。
d) Search:搜索的范围。可选的值是:Headers 、Body(在请求体中搜索)、Noresource (仅仅在HTML请求体中搜索,不包括头和资源)、ALL (在请求体、头和资源中搜索),默认值是“BODY”。
e) SaveCount:匹配的个数。
f) Fail:设置函数检查在什么状态下失败。
g) ID:日志文件中标识此函数的一个字符串。
h) RelFrameId:相关联的FrameId。注意:此参数在GUI级别的脚本中不受支持。
2、LAST:属性列表结束的标记符。
返回值
整型。成功时返回LR_PASS(0),失败时返回LR_FAIL(1)。
说明
web_reg_find属于注册函数,注册一个在web页面中搜索文本字符串的请求,在接下来的Action(例如:web_url)类函数中执行搜索。
通过查找期望的字符是否存在来验证是否返回了期望的页面。例如,通过查找“Welcome”来检查主页是否完全打开了。也可以查找“Error”检查浏览器是否发生错误。还可以使用此函数注册一个请求来统计特定字符串出现的次数。
如果检查失败,在接下来的Action类的函数中会报告错误。此函数仅仅注册请求,并不执行。函数的返回值只表明注册是否成功,并不表示检查的结果。
此函数不仅能够查找text,还能查找到围绕着text的strings。不要同时指定text和前缀后缀。
Fail,处理选项,可以是“Found或“NotFound”。默认是“NotFound”。
“Fail=Found” 指示当对应的字符找到时,函数检查失败。例如,查找单词“Error”,如果找到了,说名web请求没有成功,你想把函数检查设置为失败。
“Fail=NotFound”指示当对应的字符找不到时,函数检查失败。如果查找的是web请求成功时出现的字符串时,需要使用NotFound。
SaveCount参数指示保存到参数中的匹配的字符串的个数。使用这个属性,需要指定“SaveCount=param”。检查操作被执行后,param 的值是null结尾的数字类型的值。
如果指定了SaveCount,且没有使用Fail参数,检查不会失败,无论需要查找的字符串是否找到。通过检查SaveCount的值确定字符串是否被找到。如果param是0,说明没有找到对应的字符串。
如果同时指定了SaveCount和Fail,指定的错误处理选项和SaveCount协同工作。 handling option specified works together with the SaveCount. Thus,如果指定了SaveCount且指定了“Fail=NotFound” ,但是字符串被找到,SaveCount被赋值为字符串出现的次数,检查成功。如果字符串找不到,SaveCount被赋值为0,检查失败(注意,参数的0值只在运行时设置中Continue on error 选中时才有意义)。
此函数在HTML-based和URL-based的脚本中都可以使用。此函数是在所请求内容到达之前注册搜索请求的,所以当所请求内容一到达后就会执行搜索,产生的脚本比较高效。
最后去掉检查点中text中的空格