Как сохранить результаты сводного отчета 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

Если вы используете brewCMDRunner находится по адресу:

/usr/local/Cellar/jmeter/2.13/libexec/lib/ext/CMDRunner.jar
  1. Загрузите JMeterPluginsCMD.

  2. Переместите jmeter-plugins-manager-0.13.jar в /bin/libs/ext вашего JMeter.

  3. Откройте JMeter, перейдите в Опции> Диспетчер плагинов.
  4. Установите следующие плагины:
    • Обобщающий отчет
    • Инструмент для построения графиков командной строки
  5. Запустите эту команду из папки / 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

Другие вопросы по тегам