在JMeter中提取响应的主体并在其他请求中使用

时间:2018-06-20 05:29:03

标签: jmeter

我想提取请求的整个响应主体并将其传递给变量。使用此变量,我想在其他请求中使用它。

我想使用一些变量在其他请求中使用11857数字: enter image description here

2 个答案:

答案 0 :(得分:1)

您需要使用JMeter Post-Processor进行提取(右键单击Sampler并选择Add)

Boundary Extractor无关紧要,因为您不知道响应的边界。

由于您显示的数据也使用特定格式,因此不相关:CSS/JQuery ExtractorXPath ExtractorJDBC PostProcessorJSON Extractor

Result Status Action Handler不会提取任何值,因此无法使用。

您仍然有2个选项,可以使用BeanShell PostProcessorJSR223 PostProcessor

或使用带有Regular Expression Extractor的正则表达式提取:

选择正则表达式(.+)以匹配所有行

  

在Python和其他一些实现中(例如Java),默认情况下,三个常见的量词(*,+和?)是贪婪的,因为它们匹配的字符越多越好。[32]正则表达式“。+”应用于字符串

     

匹配整行

要使用1个变量返回值,请使用模板$1$和匹配号1

它将您的响应保存在您将在Name of created value中输入的JMeter变量中

在下一个请求中,将其用作${myVar}

答案 1 :(得分:1)

如果您要查找正则表达式以获取整个响应正文,则该操作将类似于:

<a href="/viewClass/${param1}">

说明:

  • (?s)(^.*) =分组
  • () =单行修饰符
  • (?s) =行首
  • ^ =通配符
  • . =重复

相关的Regular Expression Extractor配置看起来像“

  • 参考名称:任何有意义的数字,例如*
  • 正则表达式:response
  • 模板:(?s)(^.*)

您将可以在需要时将提取的值引用为$1$

更多信息: