我需要从JSON响应中获取可选数据以构建下一个请求。我使用check(jsonPath("...rooms[0].id").exists.saveAs("...roomId"))
但如果用户没有房间,结果会被.check()解释为错误(例如request count 4 (OK=3 KO=1)
)
object Users {
val execute = exec(http("Users"))
.get("/api/user?userIdentifier=${userId}")
// if user has no rooms, the check results in an error (KO)
.check(jsonPath("$..user.rooms[0].id").exists.saveAs("roomId"))
.pause(1)
}
object Room {
val execute = exec(http("Room"))
.get("/api/room?id=${roomId}")
.pause(1)
}
val readOnlyScenario = scenario("Read only scenario") {
.feed(userIdsdata)
.exec(Users.execute,
doIf(session => session.contains("roomId")) {
Room.execute
}
)
}
如何从JSON响应中获取可选数据并将其保存在会话中(如果存在),而不存在.check(),如果数据不存在则会失败?
答案 0 :(得分:1)
exists
必须由optional
.check(jsonPath("$..user.rooms[0].id").optional.saveAs("roomId"))