我有一个场景,我发送GET请求,有时可以返回404,我不想在最终报告中报告为错误。
另外,如果请求成功,我需要从json响应中提取多个值。
一般来说,当我独立使用时,我想使用的这两个动作对我来说是很好的。
-
从响应中提取多个json值:
jsonPath("$..usrn").saveAs("usrn"),
jsonPath("$..street_descriptor").saveAs("street_descriptor"),
....
)
-
手柄404S:
status.saveAs("responseStatus"),
checkIf(session => session("responseStatus").as[Int] == 200) {
substring(usualHeader).exists
},
checkIf(session => session("responseStatus").as[Int] == 404) {
substring(errorHeader).exists
}
但当我试图将这两个操作结合起来时,我所能做的就是遵循代码,这两个操作可以编译并实际提取数据。
但我觉得没有这种重复就可以做到
.check(
status.saveAs("responseStatus"),
checkIf(session => session("responseStatus").as[Int] == 200) {
jsonPath("$..usrn").saveAs("usrn")
},
checkIf(session => session("responseStatus").as[Int] == 200) {
jsonPath("$..street_descriptor").saveAs("street_descriptor")
},
...
checkIf(session => session("responseStatus").as[Int] == 404) {
substring("404 error").exists
}
我在加特林3.0.3