2016-02-07 2 views
-1

Я пытаюсь запустить JMeter через C# с cmd, но он просто открывает cmd и ничего не запускает.Запуск программы через C# с 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

+1

Мне удалось использовать это, и теперь он работает: [ссылка] (http://www.codeproject.com/Articles/25983/How-to-Execute-a-Command-in-C?fid=1306563&df=90&mpp = 10 & sort = Position & spc = Relaxed & tid = 4987497) – Nejc

+1

'k /' Вы имеете в виду '/ k'? –

+0

Я имею в виду/k, после многих исправлений, я думаю, я пропустил это. Я выяснил проблему со ссылкой, которую я опубликовал в первом комментарии. – Nejc

ответ

0

Я не думаю, что вы будете иметь возможность запускать файл .jar непосредственно через CMD переводчика, пойти на следующие альтернативы:

  • использования jmeter.bat скрипт-обертка
  • вызов Java исполняемые файлы, как: 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 будет полезен в вашем случае.

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); 
+0

Я хотел открыть jmeter с dokument.jmx как paramater. Я исправил это, как я сказал в первой ссылке. Спасибо, в любом случае. – Nejc

Смежные вопросы