我有一个场景,使用“网上论坛”为我的应用页面上的操作建模。
我的一个要求是在模拟中使用生产数据的副本,但是此数据可能存在一些问题,例如缺少字段等。
为解决此问题,我将这些操作包装在tryMax块中,以便可以在第一次执行时捕获数据错误,然后从会话中删除有问题的数据并重试。 (在拨打电话之前无法验证数据)
问题在于,即使操作最终成功(报告显示两次执行,一个OK,另一个KO),包含的组也标记为KO。
所以我有类似...
group("group1") {
tryMax(2) {
exec(http("action1")
.post("someURL")
.body("${ids}")
.check(
checkIf((response: Response, session: Session) => response.status.code == 400) {
jsonPath("$..failedIds").findAll.transform(
(failed, session) => {
session("ids").as[Seq[String]].diff(failed)
).saveAs("ids")
},
status.is(201)
)
)
}
}
这有效,因为执行了“ action1”,从“ ids”会话变量中提取了失败的id,然后重试并成功。但是我想在报告中将“ group1”标记为“ OK”-使用此解决方案是KO,这会误导我的目的。
我正在加特林3.1.1