loadrunner Web_类函数之web_reg_save_param_regexp()

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。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
web_reg_save_param_regexp函数LoadRunner的一个函数,主要用于在一个HTTP请求,从响应提取出符合正则表达式的数据,并将其保存到一个参数,方便后续的使用。 该函数的语法如下: ``` web_reg_save_param_regexp( "ParamName=parameter_name", "RegExp=regular_expression", "Ordinal=occurrence_number", "Group=group_number", LAST ); ``` 其各个参数的含义如下: - `ParamName`: 参数名,用于保存从响应提取出来的数据。需要使用该参数时,使用 `{parameter_name}` 的形式进行引用。 - `RegExp`: 正则表达式,用于匹配响应的数据。 - `Ordinal`: 匹配数据在响应的出现次数,从左到右计数。如果不指定,默认为第1次出现。 - `Group`: 匹配数据在正则表达式的分组,从左到右计数。如果不指定,默认为0,即整个正则表达式匹配到的文本。 例如,我们希望从一个响应提取出所有符合 `pattern\d+` 正则表达式的数据,并保存到 `MyParam` 参数,可以使用如下代码: ``` web_reg_save_param_regexp( "ParamName=MyParam", "RegExp=pattern\d+", "Ordinal=ALL", LAST ); ``` 在上述代码,我们使用了 `ALL` 来匹配响应所有符合正则表达式的数据。 需要注意的是,`web_reg_save_param_regexp` 函数必须在请求发送前执行,否则无法正确从响应提取数据。另外,如果正则表达式匹配失败,该函数会返回一个错误码,需要进行异常处理。 希望这些信息能够帮助你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值