JMeter: Создание отчета по html по умолчанию невозможно с Тельцом
В настоящее время я делаю POC с помощью инструмента Телец.
В нашей компании мы используем как JMeter, так и Gatling.
Я смог получить в своих тестах отчет Гатлинга без какой-либо сложной конфигурации, но JMeter не смог получить его отчет.
Кто-нибудь может мне сказать:
- если это возможно, и если да, укажите мне, как это сделать?
- это не так, почему он недоступен, например, для Гатлинга?
Причиной этого запроса является то, что в нашей компании:
- мы ограничиваем наше тестовое воздействие на внешнюю систему общедоступными интернет-сайтами
- мы хотим внутренне историзировать результаты во времени
- HTML-отчет JMeter содержит очень богатую информацию, которая нам нужна и используется для анализа наших тестов
- мы не хотим связываться во времени с коммерческим провайдером (Blazemeter здесь), так как кажется, что единственный способ получить отчет - это использовать Blazemeter. Мы можем подписаться на него, но не хотим, чтобы его блокировали из-за недоступных отчетов.
Я надеюсь, что это возможно, как если бы не было использования Тельца.
2 ответа
Похоже, что на данный момент (Август 2018 года, Телец 1.12.1) это невозможно сделать удовлетворительным и простым способом, основываясь на моих собственных тестах и ответах, которые я получил от проекта здесь:
- https://groups.google.com/forum/
- https://groups.google.com/forum/#!searchin/codename-taurus/generate$20HTML$20report%7Csort:date/codename-taurus/1vyu4Yy8ipw/GF3HDi-uCQAJ
Хотя это частично возможно в соответствии с ответом @dmitri-t, это не совсем удовлетворительно, так как в отчете будет отсутствовать некоторая информация, и вам нужно будет настроить для каждой платформы, какие виды устраняют некоторые преимущества упрощения Тельца. Но, надеюсь, есть вероятность, что это может быть введено в будущих версиях. Может быть, вы можете добавить заметку на тему группы Google.
Изменить 23/08/2018:
Это лучший способ, с помощью которого я нашел все сгенерированные графики, но он не полностью удовлетворяет, так как Телец по неизвестной причине переопределяет "Создать родительский образец" в контроллере транзакций, что является проблемой для отчета JMeter:
Из-за предыдущей проблемы, в JMeter 4.0 многие графы пусты, поэтому я использовал версию, которая будет в 5.0.
Поэтому я добавил Simple Data Writer в план тестирования.
Обратите внимание, что я установил в кнопке Configure все поля CSV, необходимые для отчета:
Обратите внимание, что я использую свойство "output" и функцию __P:
$ {__ Р (выход)}
И, наконец, в файле YAML я настраиваю:
- вывод: ${TAURUS_ARTIFACTS_DIR}/ вывод /
Свойства, используемые отчетом:
- jmeter.reportgenerator.apdex_satisfied_threshold: 1000
- jmeter.reportgenerator.report_title: JMeter Taurus Demo
- jmeter.reportgenerator.overall_granularity: 1000
- jmeter.reportgenerator.exporter.html.series_filter: ^ (ClickNext | HP | сценарий)(-success|-failure)?$
И мое конкретное свойство "вывод":
- вывод: ${TAURUS_ARTIFACTS_DIR}/ вывод /
Я заканчиваю с:
settings:
env:
jmeterVersion: r1839007
execution:
- scenario: existing
concurrency: 5
hold-for: 10s
ramp-up: 3s
scenarios:
existing:
script: demo.jmx
modules:
jmeter:
path: ~/.bzt/jmeter-taurus/${jmeterVersion}/bin/jmeter
version: ${jmeterVersion}
download-link: https://ci.apache.org/projects/jmeter/nightlies/${jmeterVersion}/apache-jmeter-${jmeterVersion}.zip
detect-plugins: false
properties:
jmeter.reportgenerator.apdex_satisfied_threshold: 1000
jmeter.reportgenerator.report_title: JMeter Taurus Demo
jmeter.reportgenerator.overall_granularity: 1000
jmeter.reportgenerator.exporter.html.series_filter: ^(ClickNext|HP|scenario)(-success|-failure)?$
output: ${TAURUS_ARTIFACTS_DIR}/output/
services:
- module: shellexec
post-process:
- ~/.bzt/jmeter-taurus/${jmeterVersion}/bin/jmeter -p ~/.bzt/jmeter-taurus/${jmeterVersion}/bin/jmeter.properties -q ${TAURUS_ARTIFACTS_DIR}/jmeter-bzt.properties -g ${TAURUS_ARTIFACTS_DIR}/output/output.csv -o ${TAURUS_ARTIFACTS_DIR}/folder
reporting:
- module: final-stats
- module: console
На данный момент Телец не пишет failureMessage
столбец в файл kpi.jtl, который требуется для конфигурации файла результатов JMeter по умолчанию для создания панели отчетности.
Итак, варианты в:
Создайте отдельный шаг, чтобы сгенерировать панель отчетов с помощью службы Taurus ShellExec, например
services: - module: shellexec post-process: - ~/.bzt/jmeter-taurus/4.0/bin/./jmeter -Jjmeter.save.saveservice.assertion_results_failure_message=false -g ${TAURUS_ARTIFACTS_DIR}/kpi.jtl -o /path/to/report/folder --- execution: scenario: script: test.jmx
Настройте Taurus для использования существующей установки JMeter, добавив следующие строки в
.bzt-rc
файлmodules: jmeter: path: /path/to/your/JMeter
Убедитесь, что ваша существующая установка JMeter имеет
jmeter.save.saveservice.assertion_results_failure_message=false
строка добавлена в файл user.properties. После этого вы сможете создать панель отчетности из Taurus kpi.jtl в обычном режиме.
Рекомендации: