web_reg_save_param_regexp()--常用函数
注册将与正则表达式匹配的动态数据保存到参数的请求。
int web_reg_save_param_regexp(“ParamName= <输出参数名称>”,“RegExp = regular_expression”,[<属性列表>,] [<SEARCH FILTERS>,] LAST);
参数说明:
ParamName:要创建的参数的名称。
RegExp:PERL兼容的正则表达式,包括一个用于从响应或响应中提取的带括号的子字符串。请参阅正则表达式。
List of Attributes:有关每个属性的详细信息,请参阅保存参数注册函数的属性。
属性值字符串(例如,“NotFound = warning”)不区分大小写。
SEARCH FILTERS:搜索过滤器,指定缓冲区的部分以搜索字符串。请参阅搜索过滤器以保存参数注册函数。
LAST:指示参数列表结束的标记。
web_reg_save_param_regexp函数是用于在服务器响应中查找动态数据的服务函数。一般来说,找到的数据用于coorelation。
Regular Expressions(正则表达式)
使用PERL兼容正则表达式与此函数。
表达式必须具有一个且仅有的子字符串可以被找到和保存。此子字符串称为捕获组。捕获组括在括号()中。例如:
RegExp="^First Name ([^ ].+) .+Family Name"
此表达式将“First Name”之后的第一个词保存在包含“Family Name”的行上。
在LoadRunner中使用正则表达式完美匹配任何情况
有些时候我们做关联的边界很麻烦能不能简化呢?用正则只要这样写:
web_reg_save_param_regexp("ParamName=test",
"RegExp=tid=(.*)"name[\\s\\S]*<em>1</em>",
"Ordinal=1",
SEARCH_FILTERS,
LAST);
[\\s\\S]*是正则表达式中的任意替换的意思,上面的关联含义就是以tid=开始的,后面接着name包含任意内容的结尾是<em>1</em>的内容,听起来很绕,但是用习惯了你就会爱上它!
Restrictions、(限制)
如果指定了DFEs参数并且未指定Scope参数,则搜索范围为Body(而不是默认值为ALL)。
如果同时指定了DFES和Scope参数,并且Scope设置为ALL,则忽略DFES参数。
如果指定了HeaderNames参数并且Scope不是Headers,则会忽略HeaderNames参数。
如果指定了RelFrameID = ALL参数,则Ordinal参数必须为ommited或设置为ALL。
web_reg_save_param_regexp等待整个下载完成。不要在之前的web_reg_cross_step_download呼叫中指定的网址上使用它。
有关DFES参数的更多信息,请参阅保存参数注册函数的属性。
有关HeaderNames和Scope参数的更多信息,请参阅保存参数注册函数的搜索过滤器
有关RelFrameID参数的更多信息,请参阅保存参数注册函数和RelFrameID属性的搜索过滤器。
一般信息:
web_reg_save_param_regexp是注册类型函数。它注册一个请求,以在服务器响应中查找和保存文本字符串。要保存的字符串使用正则表达式指定。仅在执行下一个操作函数(如web_url)之后才执行操作。
此函数注册从下载的页面检索动态信息的请求,并将其保存到参数。对于相关性,在使用动态数据的随后函数调用中将参数括在大括号(例如,“{param1}”)中。
由web_reg_save_param_regexp定义的请求将查找正则表达式的匹配项。在该匹配内,找到捕获组(在括号中)。与捕获组匹配的数据保存到参数。
如果缓冲区中有多个字符串与正则表达式匹配,则该行为由Ordinal属性修改。默认值是保存第一次出现。如果指定Ordinal = All,则匹配的所有匹配项都保存在数组中。数组的每个元素由ParamName_index表示。请参见参数数组示例。
在以下示例中,参数名称为A:
web_reg_save_param_regexp(“A”,...,“Ordinal = All”,LAST);
第一个匹配保存为A_1,第二个匹配保存为A_2,依此类推。您可以使用以下术语检索匹配的总数:ParamName_count。例如,要检索保存到参数数组的匹配总数,请使用:
TotalNumberOfMatches = atoi(lr_eval_string(“{A_count}”));
已弃用的函数web_reg_save_param具有用于从HTML格式更改为URL或文本格式的CONVERT属性。此属性不适用于web_reg_save_param_regexp。如果需要该功能,请在web_reg_save_param_regexp保存参数后,使用web_convert_param设置参数的格式。
web_reg_save_param_regexp不被记录。您可以将其手动添加到脚本。
所有Web脚本都支持web_reg_save_param_regexp。