我正在寻找一种使用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文件对于这个问题来说是一个很好的,相对简单的解决方案,但我很高兴听到其他选择。
答案 0 :(得分:1)
ProcessBuilder不处理查找和运行正确可执行文件的一般方法。这些优秀人员推荐的方法:http://commons.apache.org/proper/commons-exec/,是使用您要查找的程序作为第一个参数调用shell。
由于您必须首先确定您的体系结构并适当地调用cmd.exe
或/bin/sh
,然后传入jmeter
(或jmeter.bat
)作为第一个参数,并且让本机操作系统处理剩下的事情。