Перезапуск пользовательского потока условно в JMeter - PullRequest
0 голосов
/ 19 ноября 2018

Я знаю, что могу условно остановить поток в JMeter.

В моем сценарии я отправляю запросы, а затем извлекаю их ответ json для дальнейшей обработки. В некоторых редких случаях отклик параметра дает некоторое значение, которое я не могу обработать на следующих шагах.

Я мог бы обнаружить этот действительный ответ, извлекая другой параметр. Можно ли будет просто перезапустить поток на основе условия вместо его остановки?

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Без сценариев вы можете добавить Действие управления потоком (было: Тестовое действие)

Выбрать цель: Current Thread и Действие: Start Next Thread Loop

Это 'пропущу "поврежденную" ветку и перейдем к следующей ветке

0 голосов
/ 19 ноября 2018

Для дальнейших исследователей:

Простой способ начать другую итерацию потока на основе условия (т.е. извлечения некоторых данных из json) - это использовать BeanShell Sampler, как описано выше.

    import org.apache.jmeter.samplers.SampleResult;
    import org.apache.jmeter.threads.JMeterContext;
    import org.apache.jmeter.threads.JMeterContext.TestLogicalAction;


    String statVar = vars.get("statusVariable");    //getting some data for condition check (statusVariable is a variable that has been set previously in the Jmeter JSON Extractor)

    if(statVar.equals("NOK")){ .                   //checking the condition

    SampleResult.setTestLogicalAction(TestLogicalAction.START_NEXT_ITERATION_OF_THRE 
            AD);                                  //Starting thread again (it starts the thread from the beginning, so we may compare this to restart effect)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...