我知道我可以使用tryMax重新启动场景并使用.exists()来验证属性是否存在。我如何将两者结合在一起?
答案 0 :(得分:0)
如果您在tryMax中的exec中进行了检查并且检查失败,它将从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,请使用{{ 1}}方法如:
optional
如果没有达到,检查不会失败,在这个例子中,我们搜索的元素不在响应中。