如何以便携方式从java运行JMeter?

时间:2013-05-29 05:07:45

标签: java jmeter processbuilder

我正在寻找一种使用Java包装JMeter CLI的方法。但是,我一直坚持如何找到它并一旦找到它就执行它。在我自己的用户上,jmeter可用于我的路径。但是,当我尝试执行它时:

ProcessBuilder processBuilder = new ProcessBuilder("jmeter");
processBuilder.start();

我明白了:

Exception in thread "main" java.io.IOException: Cannot run program "jmeter": error=2, No such file or directory
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1042)
        at com.vodori.pepper.loadtester.Main.main(Main.java:10)
        Caused by: java.io.IOException: error=2, No such file or directory
        at java.lang.UNIXProcess.forkAndExec(Native Method)
        at java.lang.UNIXProcess.<init>(UNIXProcess.java:135)
        at java.lang.ProcessImpl.start(ProcessImpl.java:130)
        at java.lang.Proc

我不确定如何最好地将jmeter添加到我的路径中。我可以在我的文件系统上硬编码JAR的路径,但我需要一个可移植的解决方案。


替代地

我也很感激我的情况的其他解决方法。基本上,我需要为每个jmeter运行生成模拟数据。数据需要有多种类型(例如,JPEG,PDF,XLS),并且每个线程需要跟踪文件名。我认为创建一个指向生成数据的CSV文件对于这个问题来说是一个很好的,相对简单的解决方案,但我很高兴听到其他选择。

1 个答案:

答案 0 :(得分:1)

ProcessBuilder不处理查找和运行正确可执行文件的一般方法。这些优秀人员推荐的方法:http://commons.apache.org/proper/commons-exec/,是使用您要查找的程序作为第一个参数调用shell。

由于您必须首先确定您的体系结构并适当地调用cmd.exe/bin/sh,然后传入jmeter(或jmeter.bat)作为第一个参数,并且让本机操作系统处理剩下的事情。