Попытка встроить небольшой элемент управления циклом в скрипт, чтобы предотвратить его бесконечный цикл (потому что, к сожалению, это серьезная возможность в SUT)
У меня есть две вещи, которые меня интересуют:
состояние - «Complete» - желаемое состояние
loopcount - для завершения не должно быть более 10 циклов
Я успешно извлекаю «состояние» из экстрактора JSON и определил «loopcount» как элемент Counter в контроллере While. Оба успешно получают соответствующую информацию.
Проблема, с которой я столкнулся - это мое условие javascript в контроллере while, оно продолжает работать Это мой код:
${__javaScript("${state}"!="COMPLETE"||"${loopcounter}" < 10),)}
Я хочу, чтобы он выходил из цикла, когда либо состояние = Complete, либо loopcounter превышает 10 циклов.
Какого черта я делаю не так?
2 ответа
Чтобы предотвратить бесконечные циклы, вы можете добавить его в Runtime Controller
и написать максимальное количество секунд.
Вы можете проверить одну часть в то время как контроллер как ${__javaScript(${loopcounter} < 10),)}
И добавьте If Controller
в цикл и отметьте одну часть if как ${__javaScript("${state}"!="COMPLETE")}
и 1. добавить Test Action
, чтобы остановить поток 2. установите loopcounter больше 10 и добавьте Test Action
для перехода к следующей итерации цикла, а также для его выхода из строя цикла
Две проблемы:
loopCounter
не должен быть преобразован в строку. Так что удалите двойные кавычки вокруг него- Вам нужен логический оператор И, а не ИЛИ
Это должно сделать это:
"${state}" != "COMPLETE" && ${loopcounter} < 10
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.