Как динамически изменять метки строк в сводном отчете JMeter? - PullRequest
0 голосов
/ 07 февраля 2019

В моем проекте JMeter у меня есть фрагмент теста, состоящий из контроллера транзакций, который, в свою очередь, выполняет несколько http-вызовов в довольно сложном порядке, который я хочу повторно использовать во всех моих тестах (я упростил его до одного вызова впример ниже).Я заинтересован в измерении производительности этих HTTP-вызовов в целом, поэтому я установил флажок «Сгенерировать родительский образец».

Затем на фрагмент теста ссылаются из нескольких групп Tread, выполняя отдельные тесты сразные параметры (только один в упрощенном примере).

Результаты теста агрегируются с использованием сводного отчета, а затем эти агрегированные данные используются плагином Jenkins Performance для отображения тенденций производительности и уведомления разработчиков о снижении производительности.

Вот проблема.Строки в сгенерированном итоговом отчете имеют одинаковую метку.Он не позволяет плагину производительности корректно сравнивать результаты теста, в основном сопоставляются случайные агрегированные результаты.

Поле «Метка» в сводном отчете получено из атрибута «Имя» контроллера транзакций.Чтобы сделать эти имена уникальными, я попытался определить пользовательскую переменную ($TRANSACTION_NAME) в группе потоков и использовать ее для имени в контроллере транзакций.

К сожалению, это не работает.В сводном отчете в качестве метки вместо литерала используется литерал $TRANSACTION_NAME, т. Е. trans_1

User Variables

Transaction Controller Name

Summary Report

Есть ли способ обойти это и каким-то образом динамически изменить имя контроллера транзакций?Или, возможно, сказать Сводному отчету использовать другое значение переменной в качестве метки при агрегировании результатов?

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019
  1. Вы должны ссылаться на переменные JMeter в виде ${TRANSACTION_NAME} или с помощью функции __V () как ${__V(TRANSACTION_NAME)}
  2. Я не думаю, что вы должны ставить галочку Include duration of timer and pre-post processors in generated sampleкоробка, это неверно, так как JMeter 2.11 .По умолчанию JMeter не добавляет длительность Pre / Post-процессоров и таймеров к результату примера, и это должен делать контроллер транзакций, так как в противном случае вы можете получить ложноотрицательные результаты.Я полагаю, что вы должны использовать пре / постпроцессоры для параметризации / корреляции и таймеры для имитации времени «размышления» пользователей, и это время должно быть исключено из метрик JMeter, поскольку оно не имеет ничего общего с реальным приложениемпри тестировании производительности.Например, если ваше время ответа составляет 1 секунду, и у вас есть 5 секунд «сна» между запросами - в вашем случае JMeter сообщит о времени ответа 6 секунд, что в 6 раз больше, чем фактическое, что может сбить с толку.
0 голосов
/ 07 февраля 2019

Синтаксис пользовательской переменной:

$ {VarName}

Вместо пользовательских переменных используйте действие управления потоком с пользовательскими параметрами в качестве дочернего элемента и определите в этомодно значение переменной

Если вы хотите правильно изучить jmeter, эта книга поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...