我尝试使用cmd通过C#运行JMeter,但它只是打开cmd并且没有运行任何内容。
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
//startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.WorkingDirectory = "D:";
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/k D:\\jmeter\\apache-jmeter-2.13\\bin\\ApacheJMeter.jar -n -t D:\\Delo\\dokument.jmx";
process.StartInfo = startInfo;
process.Start();
该代码只是打开cmd而没有任何反应。我尝试过更改工作目录,但它不起作用。如果我没有设置工作目录,cmd只是在我的调试目录中打开。如果我直接从cmd(没有C#)启动它,这确实有效。
解决了这个问题:a link
答案 0 :(得分:1)
我不确定你想要达到的目标,以及你为什么不using System.Diagnostics
?但如果我理解你,我有一个建议:
> System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
> startInfo.WorkingDirectory = "D:";
> startInfo.FileName = @"D:\jmeter\apache-jmeter-2.13\bin\ApacheJMeter.jar";
> startInfo.Arguments = "";
> System.Diagnostics.Process.Start(startInfo);
>
> System.Diagnostics.ProcessStartInfo startInfo2 = new System.Diagnostics.ProcessStartInfo();
> startInfo2.WorkingDirectory = "D:";
> startInfo2.FileName = @"D:\Delo\dokument.jmx";
> startInfo2.Arguments = "";
> System.Diagnostics.Process.Start(startInfo2);
答案 1 :(得分:0)
我认为您不能通过cmd解释器直接运行.jar文件,请选择以下备选方案:
jmeter.bat
包装脚本path\to\java.exe -jar D:\\jmeter\\apache-jmeter-2.13\\bin\\ApacheJMeter.jar ...
我还建议使用-l
命令行参数,以便生成.jtl结果文件。
有关详细信息,请参阅How Do I Run JMeter in Non-GUI Mode?文章。我也相信Full list of command-line options会对您的案件有所帮助。