Как сохранить результаты сводного отчета JMeter в файл CSV с помощью командной строки?
Я использовал JMeter в режиме GUI для составления всех тестовых случаев, необходимых для нагрузочного тестирования моего сервиса, но для фактического тестирования мне нужно выполнить тесты в режиме без GUI. Как сохранить результаты сводного отчета в CSV-файл с помощью командной строки.
Заранее спасибо.
5 ответов
Точно так же, как альтернатива: вы можете сделать это прямо из приемника Aggregate Report.
1. установить имя файла / шаблон для файла результатов:
resultsFile = ${__property(user.dir)}${__BeanShell(File.separator,)}result_${__time(yyyyMMdd-HHmmss)}.csv
2. настроить прослушиватель Aggregate Report, как показано ниже:
CSV-файл, сгенерированный в этом случае, будет отличаться от сгенерированного через GUI/"Сохранить данные таблицы".
Если это неприемлемо, лучше использовать метод с JMeterPluginsCMD из предыдущего ответа:
java -jar JMeterPluginsCMD.jar --generate-csv aggregateResults.csv --input-jtl testResults.jtl --plugin-type AggregateReport
Используйте инструмент JMeterPluginsCMD с плагином Type = AggregateReport
1. Сохраните файл результатов
Укажите файл результатов, который нужно сохранить, в "Просмотр дерева результатов" или "Просмотр результатов таблицы" (в CSV или XML). Пример: out/test-results.csv
или с аргументом CLI -JTEST_RESULTS_FILE=out/test-results.csv
2. Конвертировать в отчет
Преобразуйте файл результатов в сводный отчет:
$ java -jar CMDRunner.jar --tool Reporter --generate-csv aggregateResults.csv --input-jtl out/test-results.csv --plugin-type AggregateReport
Если вы используете brew
CMDRunner находится по адресу:
/usr/local/Cellar/jmeter/2.13/libexec/lib/ext/CMDRunner.jar
Загрузите JMeterPluginsCMD.
Переместите jmeter-plugins-manager-0.13.jar в /bin/libs/ext вашего JMeter.
- Откройте JMeter, перейдите в Опции> Диспетчер плагинов.
- Установите следующие плагины:
- Обобщающий отчет
- Инструмент для построения графиков командной строки
- Запустите эту команду из папки / bin вашего JMeter:
./JMeterPluginsCMD.sh --tool Reporter --generate-csv test.csv --input-jtl input.jtl --plugin-type AggregateReport
С помощью приведенного выше ответа я написал простой bash-скрипт для автоматизации работы по генерации агрегированного результата. .csv
использование файла .jtl
файлы
Вы можете поместить этот скрипт в папку, где .jtl
файлы находятся, и просто запустите скрипт в этом каталоге. Затем будут помещены все агрегированные отчеты (.csv
файлы) в aggregate_report
каталог в том же каталоге
#! /usr/bin/env bash
echo "Generating reports..."
command_runner="/opt/apache-jmeter-2.13/lib/ext/CMDRunner.jar"
output="aggregate_report"
count=0
mkdir $output
for sample_file in *.jtl
do
((count++))
filename="${sample_file%.*}"
echo "Converting $filename"
java -jar $command_runner --tool Reporter --generate-csv ${output}/${filename}.csv --input-jtl ${filename}.jtl --plugin-type AggregateReport
done
echo "$count files were converted."
примечание: изменить
command_runner
переменная в соответствии с вашим местоположением CMDRunner.jar