2

我正在寻找动态验证响应正文。我有一个端点,它根据用户权限返回不同的主体。例如:

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

想法?

4

1 回答 1

2

我终于找到了一种方法来处理这个要求。

首先,您需要定义一个检查列表:

val jsonPathChecks: List[HttpCheck] = List(jsonPath("one").exists, jsonPath("two").exists, jsonPath("three").exists)

然后使用它:

http("Request")
  .get(url)
  .header(user_token)
  .check(jsonPathChecks: _*)

_* 运算符负责使魔术发生。

于 2017-12-26T16:00:16.127 回答