使用Java执行Jmeter测试计划

使用Java执行Jmeter测试计划,java,jmeter,Java,Jmeter,我们都很清楚,JMeter是一个用于静态和动态资源的服务器性能测试工具。我已经通过易于使用的GUI界面成功地将JMeter用于上述编写目的。最近,我们遇到了很多“服务器关闭”问题,但我们无法确定服务器何时关闭,直到我们向它请求了一些东西,但没有得到任何回报 所以我想在这里使用JMeter作为解决方案。使用JMeter我将以特定的时间间隔访问服务器,比如说每3小时一次,然后得到一个响应,该响应将正确识别服务器是否工作正常。在GUI模式下使用它并不合适。需要每3小时安排一次 通过谷歌的帮助,我了解到

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

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

通过谷歌的帮助,我了解到JMeter也可以在“非GUI模式”下使用。所以我拿了剧本,做了一个bat文件。然后,我在Timer类的帮助下,使用JavaCOD触发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中添加了“查看结果树”作为侦听器并保存了它,但结果仍然相同。默认情况下,非GUI模式仅获取摘要。我想要结果树的响应数据

上面显示的响应数据确认服务器是否返回有效数据。有没有办法将响应数据添加到结果文件中

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

提前谢谢

  • 要查看响应数据,您需要执行以下操作:

    • 将JMeter输出格式切换为XML
    • “告诉”它保存响应数据
    命令行解决方案如下所示:

    jmeter -Jjmeter.save.saveservice.output_format=xml -Jjmeter.save.saveservice.response_data=true -n -t E:\Jmeter.jmx -l E:\test.txt  
    
  • 关于从Java运行JMeter测试,请参阅的第4.2章从Java代码运行现有JMeter测试

  • JavaSamplerClient
    -是创建自定义采样器的方法,我怀疑它是否是您想要的


  • 非常感谢你刚刚回答了我需要的。帮了我不少忙。很抱歉延迟接受答复,我出城几天了。。再次感谢@Dmitri T有没有办法让我运行两个测试计划,比如
    Jmeter.jmx
    jmeter1.jmx
    ,并将结果保存在两个不同的文件中?此外,给出的响应数据是过高的,我只需要在我提供的图像中红色标记区域内的数据。有可能吗?