JMeter-Post Processors

2019-11-13  本文已影响0人  MechelleWang

18.8 Post-Processors(后置处理器)


顾名思义,后置处理器是在取样器之后使用的,并且应用于同一范围内的所有采样器,因此如果需要后置处理器仅应用于特定的采样器,需要将其添加为采样器的子元素。

注意,除非另有说明,后置处理器仅应用于父样本,不应用于子样本。对于JSR223和BeanShell处理器,脚本可以使用prev.getSubResults()方法检索子样本,该方法返回一个SampleResults数组。如果没有检索到子样本,则数组将为空。

后置处理器在断言之前运行,因此它们无权访问任何断言结果,样本状态也不会反映任何断言的结果。如果需要访问断言结果,请尝试使用Listener(监听器)。还要注意,在运行所有断言之后,变量JMeterThread.last_sample_ok设置为“true”或“false”。

Regular Expression Extractor(正则表达式提取器)


该提取器允许用户使用正则表达式从服务器响应中提取值,并且在其作用域中的每个sample请求之后执行。总的来说,应用正则表达式,提取请求的值,生成模板字符串,并将结果存储到给定的变量名中。


正则表达式提取器控制面板
Attribute Description Required
Name 元件名称 NO
Apply to: 见附件1 YES
Field to check 见附件2 YES
Name of created variable 存储提取结果的JMeter变量名。还要注意,每个组都存储为[refname]_g#,其中[refname]表示变量名,#是组号。 YES
Regular Expression The regular expression used to parse the response data. This must contain at least one set of parentheses "()" to capture a portion of the string, unless using the group 0. Do not enclose the expression in / / - unless of course you want to match these characters as well. YES
Template The template used to create a string from the matches found. This is an arbitrary string with special elements to refer to groups within the regular expression. The syntax to refer to a group is: '1' to refer to group 1, '2' to refer to group 2, etc. 0 refers to whatever the entire expression matches. YES
Match No. (0 for Random) 匹配项数量。正则表达式可以多次匹配。使用值0表示随机选择匹配项。正数N表示选择第N个匹配项。负数与ForEach Controller一起使用。 YES
Default Value 如果正则表达式没有匹配成功,则变量将设置为默认值。默认值主要是为了防止请求使用错误的变量。 NO(但推荐使用)
Use empty default value 如果在控制面板上选中复选框并且默认值为空,那么JMeter将把变量设置为空字符串,而不是不设置它。 NO

如果Match No.设置为非负数,并且匹配到数据,则变量设置如下:

附件1


它用于可以生成子样本的采样器,例如带有嵌入式资源的HTTP采样器、邮件读取器或事务控制器生成的样本。

附件2


提取器提取的内容可以来自以下:

上一篇 下一篇

猜你喜欢

热点阅读