【问题标题】:jmeter - how to use extracted value from response in Body Data of another requestjmeter - 如何在另一个请求的正文数据中使用从响应中提取的值
【发布时间】:2017-06-28 08:43:34
【问题描述】:

我正在尝试在另一个请求的正文数据中使用提取的值。我使用 JSON 路径提取器提取了值,如下所示

值是从以下响应中提取的

我在Body数据中是这样使用的

  {
    "TransactionId": ${transactionId},
    "Cancelled": false
  }

但这在 JMeter 中不起作用,它将 transactionId 显示为 ["223"]。 我希望它只有 223

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    JMeter 3.1 以后的版本中,尝试使用JSON Extractor(内置)关注JSON Path expression

    JSON Path expression: $.transactionId
    Match No: 1
    

    给了我265 的价值。没有双引号,没有数组符号。

    Json 提取器截图:

    查看结果树截图

    【讨论】:

    • 在这种情况下,在这两种情况下,正文数据中都没有传递任何内容,它显示的正文数据类似于 TransactionId":,
    • 不,它不会形成第一个 api 调用响应数据具有“transactionId”:“265”,可能代码显示在下一个 api 调用“transactionId”:[“265”],跨度>
    • 您能分享一下您最近试用的屏幕截图吗?已用资本T & I。请检查哪个最适合表达式。这可能是问题
    • 更新了答案。添加Debug Sampler 并尝试验证transactionId 变量中捕获的值是什么。您可以使用 jp@gc - JSON Path Extractor 插件或 JSON Extractor 内置
    【解决方案2】:

    用这个替换你的$..transactionId JSON 路径表达式:

    $..transactionId[0]
    

    它应该删除这些JSON Array 括号,您将看到223 仅作为${transactionId} 变量值

    有关使用 JSON 响应类型的更多提示,请参阅 Advanced Usage of the JSON Path Extractor in JMeter 文章。

    【讨论】:

      【解决方案3】:

      我们可以通过不同的方式做到这一点,但我更喜欢使用“Jmeter”功能(最好避免使用插件)。 对于源 git link

      1. Using "Regular Expression Extractor" post processor.
      2. Using "JSON Path PostProcessor" post processor.
      
      1. “正则表达式提取器”:正则表达式提取器不是最好的功能。

        Regular Expression: "transactionId":"(.+?)" Template: $1$ Match Number: 1

      2.“JSON Path PostProcessor”:这个后置处理器我没用过,也不错。下面是表达式

      JSON path Expression : $.transactionId Match Numbers: 1

      请在“查看结果树”中找到调试器采样器中的结果

      【讨论】:

      • 我想将提取的元素写入文件。响应 JSON 是:{"distance":14.518,"distanceUnit":"km","time":11.5,"timeUnit":"min"} 在 Json Extractor 中,我将变量名称命名为 ResponseTime。在 BeanShell 后处理器中,我试图以 time = vars.get("ResponseTime"); 的形式访问它但是变空了。我做错什么了吗?请建议
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-14
      • 2022-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多