Я запускаю свой файл .jmx из командной строки и сохраняю метрики в файл .jtl. Мой файл .jmx имеет следующую структуру:
- Группа потоков, в которой находятся мои тесты в селене
- Группа потоков tearDown, где у меня есть:
- Образец BeanShell Sampler который проверяет файл .jtl, если он не пустой, если да, я добавил Thread.sleep ();
- Образец процесса ОС, который запускает cmd.exe с файлом bat, где у меня есть код, который генерирует агрегированный файл .csv.
- И, наконец, у меня есть 2 сэмплера BeanShell, которые манипулируют файлом .CSV.
Я попытался сгенерировать агрегированный CSV файл с использованием обоих методов:
код с использованием cmdRunner:
java -jar "C:\apache-jmeter-5.2.1\lib\cmdrunner-2.2.jar" --tool Reporter --generate-csv "C:\LoadTesting\aggregate.csv" --input-jtl "C:\LoadTesting\log.jtl" --plugin-type AggregateReport
код с использованием JMeterPluginsCMD:
JMeterPluginsCMD.bat --generate-csv "C:\LoadTesting\aggregate.csv" --input-jtl "C:\LoadTesting\log.jtl" --plugin-type AggregateReport
Когда я запускаю файл .JMX из командной строки, например:
jmeter -n -t "C:/LoadTesting/MyTest.jmx" -f -l "C:/LoadTesting /log.jtl" -j jmeter.log
Файл aggregate.csv содержит только заголовок и строку с Total, но если я выполню одну из вышеуказанных команд, файл будет сгенерирован правильно.
У вас есть идеи, почему моя ОС Process Sampler не работает так, как я ожидаю? У кого-нибудь есть предложения что проверить или как это отладить?