【问题标题】:How to get HTTP POST request body in Beanshell Preprocessor?如何在 Beanshell 预处理器中获取 HTTP POST 请求正文?
【发布时间】:2017-10-06 01:02:28
【问题描述】:

我在使用 jmeter 时遇到了一些麻烦。这是我的用例,我正在使用 CSV 数据源参数构造 HTTP POST 请求,请求正文是从 CSV 列中读取的

其中包含一些占位符,例如${source_id}

我想用我通过正则表达式/json 提取器初始化的 jmeter 参数替换这些占位符(从最后一个 PUT 请求的响应中读取)。我尝试在 CSV 文件中使用 jmeter 变量名,但变量值没有被替换。我想我将不得不使用 beanshell 预处理器来修改 HTTP POST 请求正文。谁能帮助我获取 HTTP POST 请求正文的方法。

【问题讨论】:

    标签: jmeter beanshell


    【解决方案1】:

    类似

    String requestBody = sampler.getArguments().getArgument(0).getValue();
    

    应该有帮助。

    sampler 是父采样器类实例的简写,在您的情况下它将是 HTTPSamplerProxy,请参阅 JavaDoc 了解所有可用的方法和字段。


    我建议考虑迁移到 JSR223 PreProcessorGroovy 语言,因为它比 Beanshell 更快且消耗的资源更少。有效的 Beanshell 代码将是有效的 Groovy 代码,因此您应该能够转换为 JSR223 元素而无需更改或更改最少。有关详细信息,请参阅Groovy is the New Black 文章。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-10
      • 2010-12-08
      • 1970-01-01
      • 2015-02-18
      • 2022-07-15
      相关资源
      最近更新 更多