JMeter: создание html-отчета по умолчанию невозможно с помощью Taurus

В настоящее время я делаю POC с помощью инструмента Taurus.

В нашей компании на данный момент мы используем как JMeter, так и Gatling.

Я смог получить в своих тестах отчет Gatling без какой-либо сложной конфигурации, но с JMeter было невозможно получить его отчет.

Кто-нибудь может сказать мне:

  • если это возможно, и если да, укажите мне, как это сделать?
  • это не так, почему он недоступен, если он, например, для Гатлинга?

Причина этого запроса в том, что в нашей компании:

  • мы ограничиваем нашу тестовую доступность к внешней системе общедоступными интернет-сайтами
  • мы хотим внутренне историзировать результаты во времени
  • HTML-отчет JMeter содержит очень обширную информацию, которая нам нужна и которую мы используем для анализа наших тестов.
  • мы не хотим быть привязанными по времени к коммерческому провайдеру (здесь Blazemeter), поскольку, похоже, единственный способ получить отчет - это использовать Blazemeter. Мы можем подписаться на него, но не хотим, чтобы нас блокировали из-за недоступности отчетов.

Я надеюсь, что это возможно, так как если бы это было не так, использование Тельца было бы ЗАПРЕЩЕНО.


person Loc Ann    schedule 21.08.2018    source источник
comment
Я отредактировал свой ответ и думаю, что теперь у меня есть жизнеспособное решение, которое будет работать со следующей версией 5.0.   -  person UBIK LOAD PACK    schedule 23.08.2018


Ответы (2)


Похоже, что на данный момент (август 2018 Taurus 1.12.1) это невозможно удовлетворительным и простым способом, основываясь на моих собственных тестах и ​​ответах, которые я получил из проекта здесь:

Хотя это частично возможно в соответствии с ответом @ dmitri-t, это не полностью удовлетворяет, поскольку в отчете будет некоторая недостающая информация, и вам необходимо настроить для каждой платформы, какие виды удаляют некоторые преимущества упрощения Taurus. Но, надеюсь, есть вероятность, что он будет представлен в будущих версиях. Может быть, вы можете добавить заметку по теме группы Google.

Редактировать 23/08/2018:

Это лучший способ, который я нашел для создания всех графиков, но он не удовлетворяет полностью, поскольку Taurus по неизвестной причине переопределяет «Generate Parent Sampler» в контроллере транзакций, что является проблемой для отчета JMeter:

Из-за предыдущей проблемы с JMeter 4.0 многие графики пусты, поэтому я использовал версию, которая будет в следующей версии 5.0.

Поэтому я добавил в план тестирования Simple Data Writer.

Обратите внимание, что я проверил в кнопке «Настроить» все поля CSV, необходимые для отчета:

Простое средство записи данных для отчета JMeter

Обратите внимание, что я использую свойство "output" и функцию __P:

$ {__ P (вывод,)}

И, наконец, в файле YAML я настраиваю:

  • вывод: $ {TAURUS_ARTIFACTS_DIR} / output /
  • Свойства, используемые отчетом:

    • jmeter.reportgenerator.apdex_satisfied_threshold: 1000
    • jmeter.reportgenerator.report_title: Демонстрация JMeter Taurus
    • jmeter.reportgenerator.overall_granularity: 1000
    • jmeter.reportgenerator.exporter.html.series_filter: ^ (ClickNext | HP | сценарий) (- успех | -неудача)? $

И мое особое свойство «выход»:

  • вывод: $ {TAURUS_ARTIFACTS_DIR} / output /

Я получаю:

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
person UBIK LOAD PACK    schedule 22.08.2018

На данный момент Taurus не записывает столбец failureMessage в файл kpi.jtl, который требуется для JMeter по умолчанию Конфигурация файла результатов для создания панели отчетов.

Итак, варианты есть:

  1. Создайте отдельный шаг, чтобы создать панель отчетов, используя, например, службу 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
    
  2. Настройте 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 в обычном режиме.

Использованная литература:

person Dmitri T    schedule 22.08.2018
comment
Я попробовал ваш ответ, но сгенерированный отчет сообщает только о контроллере транзакций, а не обо всех HTTP-запросах, и следующие графики пусты: время отклика по сравнению с запросом, задержка по сравнению с запросом, количество кодов в секунду, ударов в секунду, обзор времени отклика, пропускная способность в байтах с течением времени . Есть ли способ получить их? - person Loc Ann; 22.08.2018
comment
Я отредактировал свой ответ и думаю, что теперь у меня есть жизнеспособное решение, которое будет работать со следующей версией 5.0. - person UBIK LOAD PACK; 23.08.2018