web_find
语法:
int web_find (const char *StepName, <Attributes and Specifications
list>, char *searchstring, LAST );
参数:
1、StepName:步骤名称,在Tree视图中出现。
2、Attributes and Specifications list:
支持的属性有:
Frame:在多Frame的情况下,定义要查找Frame的范围。
Expect:定义在什么情况下函数检查成功:找到了指定的搜索标准或者没有找到。例如说,可以检查指定的错误信息是否出现在web页面中。合法的值有2个:found和notfound。默认值是“found”。
Matchcase:指定搜索是否区分大小写。
Repeat:指定当第一次发现要查找的字符串时,搜索是否继续。当一个web页面中包含多个被查找的字符串时,此参数是非常有用的。合法的值有2个:yes,no。默认值是“yes”。
Report:指定在什么情况下,VuGen在执行日志中显示此函数的检查结果。合法的值有:success,failure,always。默认值是“always”。
Onfailure:此参数决定在函数检查失败后,Vuser是否中断。参数值是abort。如果指定了Onfailure=abort,当函数检查失败时,不论在运行时设置中的error-handling是什么,脚本都会中断。
如果没有指定Onfailure=abort,那么运行时设置中error-handling将会起作用。
支持的特性有:RightOf, LeftOf (不支持7.x及更高版本)。
RightOf:要查找的字符串右边的内容。
LeftOf:要查找的字符串左边的内容。
3、Searchstring:需要查找的字符串,格式为“What=stringxyz”。此搜索不区分大小写。
4、LAST:属性列表结束符。
返回值
整型。 成功时返回LR_PASS(0),失败时返回LR_FAIL (1)。
说明
此函数的作用是在HTML页面中查找指定的字符串。
此函数只能在基于HTML录制的脚本中使用。当指定的HTML请求全部完成以后,开始执行搜索过程,比web_reg_find要慢。
web_find函数在C语言的脚本中已经被web_reg_find所替代,web_reg_find运行速度比较快,而且在HTML-based和URL-based的录制方式中都可以使用。
在C语言脚本中,web_find是向后兼容的。Java和Visual Basic脚本中不再支持它。
运行在HTTP模式下的WAP用户都和运行在WSP回放模式下的WAP用户都不支持此函数。
web_global_verification
语法:
int web_global_verification (<List of Attributes>, LAST );
参数:
List of Attributes:
1、Text:此属性是一个非空的,以NULL结尾的字符串,表示要查找的内容。语法是”Text=string”。还可以使用text
flags自定义字符串。
2、TextPfx:没有指定Text的情况下使用此属性。要查找的字符串的前缀。语法是” TextPfx
=string”。还可以使用text flags自定义字符串。
3、TextSfx:没有指定Text的情况下使用此属性。要查找的字符串的后缀。语法是” TextSfx
=string”。还可以使用text flags自定义字符串。
4、Search:可选项,在哪里查找字符串。可选的值是:Headers,Body,NORESOURCE或All。默认值是NORESOURCE。语法是“Search=value”。
5、Fail:当字符串找不到时的处理选项:Found (默认值)或NotFound。Found表示当找到对应的字符串时发生了错误(例如“Error”)。NotFound表示当找不到字符串时发生了错误。语法是“Fail=value“。
6、ID:在日志文件中标识当前函数。
LAST:属性列表结束符。
注:text flags:/IC表示忽略大小写;/BIN表示指定的是二进制数据。
返回值
整型。 成功时返回LR_PASS(0),失败时返回LR_FAIL (1)。
说明
web_global_verification属于注册函数,注册一个在web页面中搜索文本字符串的请求,与web_reg_find只在下一个Action函数中执行搜索不同的是,它是在之后所有的Action类函数中执行搜索的。可以搜索页面的body,headers,html代码或者是整个页面。
在检测一些应用程序级别(不通过http状态码来表现)的错误时,web_global_verification是非常有用的。如果要定位通过HTTP状态码表现的错误时,使用web_get_int_property。
查找范围:all:这个HTML页面;Headers:页面的头;body:页面的体,包含所有的资源但不包含头;NORESOURCE(默认选项):仅仅包含页面的体,把包括头和资源。
如果不知道要查找的精确的文本,或者要查找的多个文本不是完全相同的,可以使用前缀和后缀来表示。这时需要用到TextPfx和TextSfx属性。这2个属性必须同时指定,一旦指定了其中一个,就不能指定Text属性了。
注意:web_global_verification在WAP协议下不能运行。
web_image_check
语法:
int web_image_check(const char *CheckName, <List of Attributes>,
<"Alt=alt"|| "Src=src">, LAST );
参数:
1、CheckName:名称,在Tree视图中出现。
2、List of Attributes:
支持的属性有:Frame(在多Frame的情况下,定义要查找Frame的范围)。
支持的选项有:expect, matchcase, repeat, report, onfailure。
Tip:选项跟属性的区别,大部分选项都只允许设置预定义的值,其他的值都是无效的。
3、Alt:检查图象的ALT标记。不允许空值。
4、Src:检查图象的SRC标记。不允许空值。
5、LAST:参数列表结束的指示符。
返回值
整型。
说明
web_image_check检查指定的图象是否在HTML页面中出现。
Alt或者Src两者必须有一个在参数列表中出现。如果两项都通过,那么检查成功。
此函数仅仅支持基于HTML的脚本。
web_reg_add_cookie
语法:
int web_reg_add_cookie(const char * cookie, const char * searchstring,
LAST );
参数:
1、Cookie:定义需要增加或修改的Cookie。
Cookie的参数格式为:<name>=VALUE; (required);domain=DOMAIN_NAME;(required);expires=DATE;path=PATH;(default
path is "/");secure。
此参数中的cookie元素和HTTP响应头中的Set-Cookie是相同的。例如“Session=1234;domain=sanditon.com”,在这里,“Session”是cookie的名称。
2、Searchstring:要查找的文本字符串。字符串不能为空,以null结尾。格式为“Text=string”。
3、LAST:属性列表的结束符。
返回值
整型。 成功时返回LR_PASS(0),失败时返回LR_FAIL (1)。
说明
web_reg_add_cookie是注册类型的函数。它首先注册一个搜索文本字符串的请求。检查动作在后续的Action函数之后进行。如果字符串被找到,就添加到cookie中。
需要注意,尽管web_reg_add_cookie在功能上跟HTTP Set_Cookie头相似,它们还是有个明显的区别。
根据HTTP标准,domain属性在Set-Cookie头中是可选的。如果没有指定,默认的domain的值是产生cookie的服务器的host
name。当使用web_reg_add_cookie函数时,服务器的hostname对于压力测试的机器来说是不可用的,所以domain属性是必选项。
此函数在HTML-based 和URL-based的脚本中都可以使用。(参照录制选项的录制标签页)。此函数是在服务器内容到达客户端之前注册搜索请求的,所以当所请求的内容一到就会执行搜索操作,脚本会比较高性。
web_reg_add_cookie是用户手动添加的,无法录制。
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的脚本中都可以使用。此函数是在所请求内容到达之前注册搜索请求的,所以当所请求内容一到达后就会执行搜索,产生的脚本比较高效。
|