loadrunner Web_类函数之web_reg_save_param_regexp()

来源:互联网 发布:奥迪a4矩阵式led大灯 编辑:程序博客网 时间:2024/06/16 11:11

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

原创粉丝点击