Показывать сводную информацию отчета в консоли при запуске тестов jmeter с mvn

#maven #jmeter #report #aggregate #summary

#maven #jmeter #Сообщить #агрегировать #Краткие сведения

Вопрос:

У меня есть проект mvn, в который также интегрирован jmeter, для тестирования производительности. На данный момент у меня есть 6 групп потоков в моем плане тестирования, все они содержат HTTP-запросы. Я запускаю тесты, используя команду «mvn clean verify» из плагина jmeter-maven. Среди результатов я обнаружил несколько строк, подобных этой:

сводка 1 за 00:00: 02 = 0,6 / с Среднее значение: 208 Мин: 208 Макс: 208 Ошибка: 0 (0,00%) Активно: 6 Начато: 12 Закончено: 6

Мне понадобилась бы дополнительная информация в консоли, особенно имя и среднее время каждой группы потоков или выполненного HTTP-запроса. Например, что-то подобное с совокупным отчетом из режима GUI :

Образцы меток Средняя медиана 90% Строка 95% Строка 99% Строка Минимум Макс…

AppleCodeRequest 6 196 119 279 284 284 108 284
PearCodeRequest 3 382 485 490 490 490 173 490

Я хочу этого, потому что я использую скрипт sh для запуска тестов, и я хотел бы вызвать некоторые проблемы с производительностью перед открытием отчетов html.

Есть ли какой-либо способ получить это? Возможно, какие-то пользовательские свойства (даже если я искал их и без результата) или какой-то обходной путь?

Комментарии:

1. Я понимаю, что вы хотите в своей консоли IDE. Но почему бы не использовать собственные отчеты Jmeter. У Jmeter есть множество отчетов, которые он также может генерировать в различных форматах (csv, html и т.д.) И содержать все детали, которые вы ищете многое другое

2. Я использую скрипт sh, который содержит эту команду для запуска тестов, и я хотел бы вызвать некоторые проблемы с производительностью перед открытием отчетов html. И для этого у меня есть доступ только к этому тексту «консоль», полученному в результате команды mvn

Ответ №1:

Самое простое решение — использовать плагин, подобный BlazeMeter Uploader, таким образом, вы сможете наблюдать показатели тестирования в реальном времени в модном веб-интерфейсе. Вы можете установить плагин BlazeMeter Uploader с помощью менеджера плагинов JMeter

введите описание изображения здесь


Альтернативным решением было бы использовать инструмент командной строки JMeterPluginsCMD.

  1. Добавьте следующие строки в свой pom.xml файл

     <configuration>
        <jmeterExtensions>
            <artifact>kg.apc:jmeter-plugins-cmd:2.2</artifact>
            <artifact>kg.apc:jmeter-plugins-synthesis:2.2</artifact>
            <artifact>kg.apc:jmeter-plugins-dummy:0.2</artifact>
            <artifact>kg.apc:cmdrunner:2.0</artifact>
            <artifact>kg.apc:jmeter-plugins-filterresults:2.2</artifact>
            <artifact>kg.apc:jmeter-plugins-cmn-jmeter:0.6</artifact>
        </jmeterExtensions>
        <!-- The plugin uses some broken dependencies
             An alternative is to set this to true and use excludedArtifacts, see below
        -->
        <downloadExtensionDependencies>false</downloadExtensionDependencies>
        <propertiesJMeter>
            <jmeter.save.saveservice.autoflush>true</jmeter.save.saveservice.autoflush>
        </propertiesJMeter>
    </configuration>
      
  2. Добавьте еще одну группу потоков в свой план тестирования с 1 пользователем и бесконечным количеством циклов

  3. Добавьте JSR223 Sampler в свою группу потоков
  4. Поместите следующий код в область «Script»:

     SampleResult.setIgnore()
    def resultFile = new File('../results').list().first()
    "java -jar ../lib/ext/cmdrunner-2.0.jar --tool Reporter --generate-csv temp.csv  --input-jtl ../results/$resultFile --plugin-type AggregateReport".execute().waitFor()
    println("cat temp.csv".execute().text)
    new File("temp.csv").delete()
      
  5. Контролируйте, как часто вы хотите видеть эту информацию, используя, например, Постоянный таймер
  6. Вы должны иметь возможность видеть результаты в окне консоли:

    введите описание изображения здесь