【问题标题】:How to save response in a variable in jmeter如何将响应保存在jmeter中的变量中
【发布时间】:2016-03-31 12:36:49
【问题描述】:

我正在使用 jmeter 在我的服务器上执行负载测试。 在我的一个帖子请求中,我在响应中收到了一个唯一的 ID。 我需要在以下发布请求中将此 id 作为参数发送。 我是 jmeter 新手,不知道该怎么做。 非常感谢您的帮助。

【问题讨论】:

标签: post jmeter performance-testing load-testing


【解决方案1】:

如果您需要将整个响应存储到变量中 - 请执行以下步骤:

  1. Beanshell PostProcessor 添加为返回您正在寻找的响应的请求的子项
  2. 将以下行放入 PostProcessor 的“脚本”区域:

    vars.put("response", new String(data));
    
  3. 在需要时将提取的值引用为${response}

    请参阅How to Use BeanShell: JMeter's Favorite Built-in Component 指南以了解更多关于 JMeter 中的 Beanshell 脚本


或者,您可以对正则表达式提取器执行相同的操作,在这种情况下,相关配置将是:

  • 参考名称:response
  • 正则表达式:(?s)(^.*)
  • 模板:$1$

如果您需要部分响应,而不是整个响应,您可以根据 JMeter 用户手册Regular Expressions 章节的需要修改正则表达式

【讨论】:

    【解决方案2】:

    如果您确实需要将整个响应存储到变量中,请执行以下操作:

    1. JSR223 PostProcessor 添加为返回您正在寻找的响应的请求的子项

    1. 将以下行放入“脚本”区域:

    vars.put("响应", prev.getResponseDataAsString());

    1. 然后将此响应用作 ${response} 在您需要的地方

    但是您很少需要使用整个响应,并且应该避免使用 big ,在这种情况下,最好使用适合您响应格式的 Extractor:

    【讨论】:

      【解决方案3】:

      您可以使用JMeter's Post-Processor Regular Expression Extractor 从响应中提取所需的值。只需将其添加到其响应将包含所需值的采样器下即可。

      在 Reg 表达式提取器中,您将定义变量名称(referenceName)、RegularExpression、模板等。稍后您可以使用该变量中的值。要了解如何使用 Reg 表达式提取器,您可以参考以下教程。

      https://docs.blazemeter.com/customer/portal/articles/1743642-using-regex-regular-expression-extractor-with-jmeter

      【讨论】:

        【解决方案4】:

        我知道这个问题很老,但我同意@UBIK 你应该使用 JSON 提取器。我正在使用每秒发送超过 100 个请求的负载测试,我需要重用特定 JSON 键中的值,因此我使用 JSON 提取器并将值保存在 .csv 文件中以供下一个请求。

        1. extract the JSON


        2. 这是将其写入 .csv 文件的 Groovy 脚本

         def myRandomIds = new File("randomIds.csv")
            myRandomIds << vars.get("id") + ","
            myRandomIds << System.getProperty("line.separator")
            log.info(vars.get("id") + " saved to randomIds.csv...")
        

        1. 这是我在从 csv 文件读取的其他请求中设置的 CSV 数据配置。 (在我的例子中,这些 .jmx 文件是使用 jenkins 自动化和参数化的)


        2. CSV data set config


        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-04-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多