3. web_reg_save_param函数
3.1 方法介绍
语法:
int web_reg_save_param(const char *ParamName, <list of Attributes>, LAST);
参数说明:
ü ParamName: 存放得到的动态内容的参数名称
ü list of Attributes: 其它属性,包括:Notfound, LB, RB, RelFrameID, Search, ORD, SaveOffset, Convert, SaveLen。属性值不分大小写
Notfound: 当在返回信息中找不到要找的内容时应该怎么处理
Notfound=error: 当在返回信息中找不到要找的内容时,发出一个错误讯息。这是缺省值
Notfound=warning: 当在返回信息中找不到要找的内容时,只发出警告,脚本也会继续执行下去不会中断。
LB( Left Boundary ) : 返回信息的左边界字串。该属性必须有,并且区分大小写。
RB( Right Boundary ): 返回信息的右边界字串。该属性必须有,并且区分大小写。
RelFrameID: 相对于URL而言,欲查找的网页的Frame。此属性质可以是All或是数字,该属性可有可无。
Search : 返回信息的查找范围。可以是Headers,Body,Noresource,All(缺省)。该属性质可有可无。
ORD : 说明第几次出现的左边界子串的匹配项才是需要的内容。该属性可有可无,缺省值是1。如为All,则将所有找到的内容储存起来。
SaveOffset : 当找到匹配项后,从第几个字元开始存储到参数中。该属性不能为负数,缺省值为0。
SaveLen :当找到匹配项后,偏移量之后的几个字元存储到参数中。缺省值是-1,表示一直到结尾的整个字串都存入参数。
说明:如果左右边界中含有中文字符,请在Tool->Recording Options,Advanced中勾选Support Charset为utf-8
3.2 常见问题以及解决方法
MsgId: MERR-26377
报错信息:"Check whether the requested boundaries exist in the response data. Also, if the data you want to save exceeds 1592 bytes, use web_set_max_html_param_len to increase the parameter size [MsgId: MERR-26377]"。
错误原因及解决办法:
ü 左右边界取值不正确:Vuser->scan action for correllations 在correlation results中选中需要关联信息,点crete rule查看左右关联字符。
ü 关联函数的位置放置错误:Vuser->scan action for correllations 将脚本切换到script下并在correlation results中双击需要关联信息,光标会在scrip中定位在需要关联的位置。
ü 服务器返回的报文过长,超出了LoadRunner默认的参数保存长度(1024字节),在设置关联的语句之前加上如下语句:web_set_max_html_param_len(“10000″);(web_set_max_html_param_len函数用于设置需要保存的HTML字符串的长度);