【问题标题】:Extracting JSON from a string response using Apache JMeter使用 Apache JMeter 从字符串响应中提取 JSON
【发布时间】:2021-04-08 13:12:58
【问题描述】:

我正在使用 Apache JMeter 发出 HTTP 请求。

响应格式如下:

HTTP/1.1 100 继续

HTTP/1.1 200 正常 x-powered-by: Express 访问控制允许来源:* 访问控制允许方法:HEAD、POST、PUT、GET、OPTIONS、DELETE access-control-allow-headers:来源、内容类型、X-Auth-Token、Tenant-ID、授权 内容类型:应用程序/json;字符集=utf-8 内容长度:24 etag:W/“18-8MkH0L5c1ZW7PPuEY1rZ3jKFme0” 日期:格林威治标准时间 2021 年 4 月 8 日星期四 12:28:37 x-特使上游服务时间:90 服务器:特使

{"id":"548b23a3.4f6a4c"}

我需要一种方法来将 JSON id 值提取到一个变量中以发出另一个请求。

JSON 提取器需要纯 JSON 格式作为响应,但在我的情况下,我需要从正文响应中跳过所有这些标头。

有什么想法可以用 Apache JMeter 实现吗?

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    如果您真的将所有这些都作为响应正文的一部分(但在我看来,它看起来像 Headers),您应该始终能够退回到 Regular Expression Extractor,这不会有任何限制。

    正则表达式示例:

    "id"\s*:\s*"(.+?)"}
    

    演示:

    解释:

    • \s - 空白元字符
    • * - 任意数量的空格
    • . - 匹配任意字符
    • + - 重复
    • ? - 不要贪心,第一场比赛就停下来

    更多信息:

    【讨论】:

    • 非常感谢您的帮助!我在 reg 表达式的末尾有一个空格!我在使用正则表达式测试器后发现它!
    【解决方案2】:

    另一种干净的方法是使用JSON Extractor(后处理器)。当您将返回复杂的 json(多个嵌套对象)时,这非常有用。

    更多详情:https://octoperf.com/blog/2017/03/09/how-to-extract-data-from-json-response-using-jmeter/#jmeter-jsonpath-plugin

    【讨论】:

      猜你喜欢
      • 2020-01-03
      • 1970-01-01
      • 2020-07-28
      • 2023-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-16
      相关资源
      最近更新 更多