Я нашел решение для этого, если вы знаете ответ, который вы пытаетесь извлечь из экстрактора Xpath, с помощью ответных утверждений и возможного цикла while.
вот мой ответ
Прежде всего добавьте сэмплер бобовой оболочки в план тестирования перед циклом while.В бобовую оболочку добавьте следующие 2 строки
vars.put("counter","1");
vars.put("txtFound","FALSE")
Далее Добавьте Пока контроллер со следующим условием
${__javaScript("${txtFound}" == "FALSE" && parseInt(${counter})<=3,)}
Приведенное выше выражение оценивается как истинное, если оба условия выполняются. Здесь 3 обозначает количество попыток.
Теперь в цикле while добавьте ваш запрос.К тому же запросу добавьте ответное утверждение и добавьте шаблон (текст, который вы пытаетесь извлечь с помощью Xpath)
к тому же запросу добавьте постпроцессор beanhell и скопируйте в него следующий код
int counter = Integer.parseInt(vars.get("counter"));
if(counter==3)
vars.put("txtFound","TRUE");
counter++;
vars.put("counter",Integer.toString(counter));
в приведенном выше коде 3 представляет количество попыток.Код будет увеличивать число попыток на одну для каждой итерации, и если он достигает максимальных попыток, он устанавливает значение txtFound в TRUE, чтобы остановить тест.
Добавить условие if ниже запроса, как показано ниже
В цикле if добавьте сэмплер оболочки bean и установите значение txtFound в TRUE, как показано ниже
Когда подтверждение ответа не выполняется, если условие не будетвыполняется, и если утверждение ответа проходит, если условие установлено в true, и элементы в If будут выполняться
Тест останавливается, если он находит правильное время ответа, или останавливается, если достигает максимального числа попыток.В моем случае я оставил 3 в качестве подтверждения ответа, поэтому, если он найдет 3, он остановится или достигнет максимального числа 3 попыток
Пожалуйста, перейдите по этой ссылке для получения дополнительной информации о
, а контроллер