Показывать сводные данные отчета в консоли при запуске тестов jmeter с mvn - PullRequest
1 голос
/ 11 марта 2019

У меня есть проект 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 Ответ

0 голосов
/ 11 марта 2019

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

enter image description here


Альтернативное решение будет использовать команду 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. Введите следующий кодв область «Сценарий»:

    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. Вы должны быть в состояниичтобы увидеть результаты в окне консоли:

    enter image description here

...