#jmeter #jmeter-5.0
#jметр #jmeter-5.0
Вопрос:
Я создаю логику повторных попыток с помощью цикла while. Это будет повторная попытка, если код ответа не равен 200. Время повторения — 3 раза, если после 3-х раз все еще сбой, сдавайтесь.
Однако даже запрос является успешным после повторной попытки. Неудачный запрос отображается в дереве результатов и сводном отчете.
Возможно ли не показывать неудачный запрос при успешном завершении после повторной попытки в отчете. Показывать запрос только после 3 повторных попыток, но все равно сбой.
Теперь ситуация
Запрос:
запрос (сбой) -> запрос (сбой) -> запрос (успех)
Дерево результатов:
запрос (сбой)
запрос (сбой)
запрос (успех)
Это изображение, которое я хочу.
Запрос:
запрос (сбой) -> запрос (сбой) -> запрос (успех)
Дерево результатов:
запрос (успех)
Запрос:
запрос (сбой) -> запрос (сбой) -> запрос (сбой)
Дерево результатов:
запрос (сбой)
Ответ №1:
- Поместите ваш запрос в контроллер цикла и укажите количество циклов как 3
- Добавьте постпроцессор JSR223 в качестве дочернего элемента вашего запроса и поместите следующий код в область «Сценарий»
if (prev.getResponseCode() == '200') { ctx.setTestLogicalAction(ctx.TestLogicalAction.BREAK_CURRENT_LOOP) } else { if (vars.get('__jm__Loop Controller__idx') as int < 2) { prev.setIgnore() } }
где:
prev
обозначает предыдущий образец ответаctx
расшифровывается как JMeterContext- и
vars
для переменных JMeterVariables
Дополнительная информация об этих сокращениях API JMeter: 8 лучших классов Java JMeter, которые вы должны использовать с Groovy
Комментарии:
1. Это работа! Большое вам спасибо.