【问题标题】:Executing Jmeter testplan using Java使用 Java 执行 Jmeter 测试计划
【发布时间】:2015-11-13 15:56:27
【问题描述】:

我们都非常清楚JMeter 是一个针对静态和动态资源的服务器性能测试工具。我已经通过易于使用的 GUI 界面成功地将 JMeter 用于上述书面目的。最近我们遇到了很多“服务器停机”的问题,但是我们无法确定服务器何时停机,直到我们向它请求某些东西并且没有得到任何回报。

所以我想到在这里使用 JMeter 作为解决方案。使用 JMeter 我会以特定的时间间隔访问服务器,比如每 3 小时一次,然后得到一个响应,该响应将正确识别该服务器工作正常。在 GUI 模式下使用它并不合适。需要每 3 小时安排一次。

通过一些 Google 的帮助,我了解到 JMeter 也可以用于“非 GUI 模式”。所以我拿了脚本并制作了一个bat文件。然后我在 Timer 类的帮助下使用 Java cod 触发了 bat 文件进行调度。 bat文件里面的脚本是:

jmeter -n -t E:\Jmeter.jmx -l E:\test.txt 

使用上面的脚本,我在 test.txt 中得到总结报告,如下所示:

1440049645804,576,SOAP/XML-RPC Request,200,OK,Thread Group 1-1,text,true,583,1,1,574

即使服务器关闭,结果也是一样的。我在 GUI 中添加了 "View Results Tree" 作为侦听器并保存了它,但结果仍然相同。默认情况下,非 GUI 模式只获取摘要。我也想要结果树的响应数据。

上面显示的响应数据确认服务器是否返回有效数据。有什么方法可以将响应数据添加到我的结果文件中?

我还发现测试计划可以使用 JMeter API 和接口在 java 代码中运行,即 JavaSamplerClient 。我搜索但找不到一个我能清楚理解的活生生的例子。

提前致谢。

【问题讨论】:

    标签: java jmeter


    【解决方案1】:
    1. 要查看响应数据,您需要执行以下操作:

      • 将 JMeter 输出格式切换为 XML
      • “告诉”它保存响应数据

      命令行解决方案如下所示:

      jmeter -Jjmeter.save.saveservice.output_format=xml -Jjmeter.save.saveservice.response_data=true -n -t E:\Jmeter.jmx -l E:\test.txt  
      
    2. 关于从 Java 运行 JMeter 测试,请参阅 5 Ways To Launch a JMeter Test without Using the JMeter GUI guide4.2 从 Java 代码运行现有 JMeter 测试一章。

    3. JavaSamplerClient - 是创建自定义 Java Request 采样器的方式,我怀疑它是你要找的东西

    【讨论】:

    • 非常感谢您刚刚回答了我所需要的。对我帮助很大。很抱歉延迟接受答案,我出城几天了..再次感谢
    • @Dmitri T 有什么方法可以运行 2 个测试计划,比如 Jmeter.jmxjmeter1.jmx 并将结果保存在两个不同的文件中?此外,给出的响应数据过高,我只需要我提供的图像中红色标记区域内的数据。有可能吗?
    猜你喜欢
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多