我试图让我的jmeter测试计划在Jenkins中执行。 jmeter和Jenkins都安装在我的本地Windows机器上。我在Jmeter中设置了一些属性并验证我可以使用此命令成功地从cmd行运行它们:
C:\Users\MikeL\Documents\apache-jmeter\bin>jmeter -n -t testApp.jmx -l log.jtl -Jenv=dev -JloopCount=2
现在Jenkins我创建了一个新项目,创建了两个新参数并在"执行shell"中输入了以下内容。基于我在网上找到的例子。我还没有在Jenkins中配置任何其他内容。
sh jmeter.sh -n -p user.properties -t C:/Users/MikeL/Documents/apache-jmeter/bin/testApp.jmx -l log.jtl -Jenv=dev -JloopCount=1
足以说这个剧本不能建立我的jmeter测试。我收到了这个错误:
Cannot run program "sh" (in directory "C:\Program Files (x86)\Jenkins\workspace\LOS API Regression Tests"): CreateProcess error=2, The system cannot find the file specified
如果有人有任何线索我会非常感激!
答案 0 :(得分:0)
这里的问题是交叉环境。你需要使用windows batch命令而不是执行shell来运行它。 Windows不会将sh识别为可执行文件。
C:\Users\MikeL\Documents\apache-jmeter\bin>jmeter -n -t testApp.jmx -l log.jtl -Jenv=dev -JloopCount=2
在执行Windows批处理模式
中运行以上命令答案 1 :(得分:0)
将此路径C:\Users\MikeL\Documents\apache-jmeter\bin
添加到您的环境变量PATH
。
然后Jenkins Build步骤应为 Windows Batch Command
然后命令应为jmeter -n -t testApp.jmx -l log.jtl -Jenv=dev -JloopCount=1
<强>更新强> 如果您不想设置路径,只需直接将以下命令作为Windows Batch Command。
C:\Users\MikeL\Documents\apache-jmeter\bin\jmeter.bat -n -t C:\Users\MikeL\Documents\apache-jmeter\bin\testApp.jmx -l log.jtl -Jenv=dev -JloopCount=1
使用Ant / Maven / Gradle在非gui模式下运行jmeter测试。它们也可以与Jenkins集成