【问题标题】:How do I get Apache JMeter to include a GET or POST parameter in its CSV log output?如何让 Apache JMeter 在其 CSV 日志输出中包含 GET 或 POST 参数?
【发布时间】:2016-05-23 23:40:54
【问题描述】:

我正在 JMeter 中执行 HTTP 请求示例(GET 和 POST),并试图弄清楚如何在 CSV 日志输出中包含请求的片段(现在,只是查询和表单参数)。看来我必须使用 BeanShell Listener 之类的东西来使用 JMeter API 编写我自己的日志文件。听起来对吗?

参考资料:

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    不一定。鉴于您的参数采用 JMeter Variables 的形式(如果不是 - 您可以通过 User Defined Variables 测试元素转换它们),您可以使用 samples_variable 属性向 JMeter 的 .jtl 结果文件添加值

    1. 将下一行添加到 user.properties 文件(它位于 JMeter 安装的 /bin 文件夹下)

      sample_variables=var1,var2,etc.
      

      var1var2 是你的 JMeter 变量

    2. 重启 JMeter 以获取属性
    3. 下次运行时,您的测试变量值将被添加到 .jtl 结果文件中

    参考资料:

    【讨论】:

    • 谢谢!我会试试的。但是,如果我尝试使用 BeanShell 重新创建自己的 CSV 日志,您知道我将如何获取诸如“elapsed”、“label”和“responseCode”之类的字段吗?我正在查看 JMeter API 以了解如何访问它们,但我无法找到答案。顺便说一句,您的 user.properties 解决方案肯定会在这种情况下工作,但我只是质疑将字段放入 user.properties 以进行仅适用于我们少数系统的测试是否明智。
    • 我正在取得一些进展。 sampleResult.getSamplerData() 给我请求数据。我正在处理其余数据,最重要的是响应时间等。我认为sampleResult.getTime() 可以做到这一点,但我无法将其写入文件。我认为我的记录器对其数据类型感到窒息。 sampleResult.getResponseCode()sampleResult.getResponseMessage() 正在工作。
    • 您也可以选择存储在结果文件中的操作属性。查看jmeter.properties 文件,查找名称以jmeter.save.saveservice 开头的属性。在user.properties 文件中覆盖您需要的那些。如果您需要单独存储所有内容,您可以使用 FileUtils.writeStringToFile() 方法。详情请见How to Use BeanShell: JMeter's Favorite Built-in Component
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 2019-05-27
    • 2012-07-01
    • 2019-04-25
    相关资源
    最近更新 更多