Если у вас есть проверки в exec внутри tryMax, и эта проверка не удалась, он попробует снова с начала блока tryMax.
EX:
val TestScenarioThatRestartsOnFail: ScenarioBuilder = scenario("ScenarioNameHere")
.tryMax(2) {
exec(
http("zzzz")
.get("zzz")
.check(xxxx)
)
.exec(
http("zzzz")
.get("zzz")
.check(xxxx)
)
}
Таким образом, любая проверка, которая не удалась во всем блоке tryMax {}, заставит весь блок работать снова.
Вы также можете объединить несколько блоков tryMax, если вам нужно повторять разные запросы разное
val TestScenarioThatRestartsOnFail: ScenarioBuilder = scenario("ScenarioNameHere")
.tryMax(2) {
exec (
http ("zzzz")
.get ("zzz")
.check (xxxx)
)
}.tryMax(2) {
exec(
http("zzzz")
.get("zzz")
.check(xxxx)
)
}
Если вы сталкиваетесь с проверками, которые "необязательны" , следовательно, они могут иногда давать сбой, но вы не хотите запускать tryMax для этих проверок, используйте метод optional
, например:
.check(regex("/admin-ng/login.[^\"]*.css").find.optional.saveAs("login_css"))
Это не провалит проверку, если она не выполнена, в данном примере искомый элемент отсутствует в ответе.