在 Gatling 中构建动态检查
Build dynamic checks in Gatling
我希望动态验证响应正文。我有一个端点,根据用户权限,returns 不同的主体。例如:
user: a
{
"one": "a",
"two": "b"
}
user: b
{
"one": "a",
"three": "c"
}
我知道我可以使用 jsonPath
以这种方式验证一个 json 字段是否存在:
http("Request")
.get(url)
.header(user_a_token)
.check(jsonPath("one").exists)
.check(jsonPath("two").exists)
.check(jsonPath("three").notExists)
但是,我想让它可配置,使用馈线或类似的东西:
http("Request")
.get(url)
.header(user_token)
// iterate a list of Strings with the json field names
想法?
我终于找到了一个方法来处理这个需求。
首先,您需要定义一个检查列表:
val jsonPathChecks: List[HttpCheck] = List(jsonPath("one").exists, jsonPath("two").exists, jsonPath("three").exists)
然后使用它:
http("Request")
.get(url)
.header(user_token)
.check(jsonPathChecks: _*)
_* 运算符负责让奇迹发生。
我希望动态验证响应正文。我有一个端点,根据用户权限,returns 不同的主体。例如:
user: a
{
"one": "a",
"two": "b"
}
user: b
{
"one": "a",
"three": "c"
}
我知道我可以使用 jsonPath
以这种方式验证一个 json 字段是否存在:
http("Request")
.get(url)
.header(user_a_token)
.check(jsonPath("one").exists)
.check(jsonPath("two").exists)
.check(jsonPath("three").notExists)
但是,我想让它可配置,使用馈线或类似的东西:
http("Request")
.get(url)
.header(user_token)
// iterate a list of Strings with the json field names
想法?
我终于找到了一个方法来处理这个需求。
首先,您需要定义一个检查列表:
val jsonPathChecks: List[HttpCheck] = List(jsonPath("one").exists, jsonPath("two").exists, jsonPath("three").exists)
然后使用它:
http("Request")
.get(url)
.header(user_token)
.check(jsonPathChecks: _*)
_* 运算符负责让奇迹发生。