Как настроить Regular Expr. Извлечение в то время как контроллер, чтобы остановить цикл - PullRequest
0 голосов
/ 28 июня 2019

Я настроил контроллер While со следующим условием:

${__javaScript("${Status}" != "BatchId not found")}

и экстрактор регулярных выражений:

Имя созданной переменной: Status

Регулярное выражение: (.+?)

Шаблон: $1$

Номер матча: 1

Запрос GetNextAsyncResponses в этом Пока Контроллер проверяет результаты асинхронного пакетного запроса, пока все результаты этого пакета не будут перехвачены.

Сначала я запускаю пакетный запрос, а затем цикл с помощью запроса GetNextAsyncResponses, который проверяет, есть ли результаты этого пакета. Когда пакетный запрос завершен, я получаю тело ответа со строкой «BatchID not found», которая указывает на то, что больше нет результатов.

Цикл должен остановить GetNextAsyncResponses при появлении первого ответа со строкой «BatchID not found».

Но, к сожалению, цикл никогда не останавливается, даже если строка отображается после 4-5 циклов.

Я также пытался выполнить следующие условия, которые я обнаружил в подобных случаях, но безуспешно.

${__jexl3("${BatchId}" != "BatchId not found")}
${__javaScript("${BatchId}".indexOf("BatchId not found") == -1,)}

Я не уверен, что здесь не хватает руды.

Любая помощь будет оценена.

Большое спасибо ...

Ответы [ 2 ]

0 голосов
/ 01 июля 2019

Переменная, используемая в , в то время как контроллер должен соответствовать переменной, которую вы определяете в Извлекателе регулярных выражений , чтобы иметь значение Status в извлечении регулярных выражений, вам необходимо:имеют то же самое в контроллере while

${__jexl3("${Status}" != "BatchId not found")}

или через __ groovy () функцию

${__groovy(!vars.get('Status').equals('BatchId not found'),)}

Дополнительная информация: Использование контроллера while в JMeter

0 голосов
/ 28 июня 2019

Я бы предложил обновить регулярное выражение, как показано ниже:

enter image description here

И затем установить в режиме «Контроллер» значение ${__jexl3("${Status}" == "NOT_FOUND")}

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