检查使用JSONPath提取的值,并使用Gatling与正则表达式进行比较

时间:2019-05-15 11:32:25

标签: regex scala gatling scala-gatling

在加特林(Gatling)中有没有做过这样的事情的方式:

scenario("Check UUID with regex")
      .exec(http("Get UUID")
      .get("http://myapp/api/v1/goal/a24e210c-0fc1-44a0-a5ca-9bd5d8d71916")        
      .check(jsonPath("$.id").is(regex("[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}")))

基本上,我想对检查JSONPath构造中返回的内容应用正则表达式比较。

和平!

P.S。我知道我可以做: .check(regex("\"id\": \"[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}\"").exists)

1 个答案:

答案 0 :(得分:0)

与您所描述的完全不同,但是您可以使用转换来伪造它

.check(jsonPath("$.id")
    .find
    .transform(id => "[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}".r
                 .findFirstMatchIn(id) match {
                    case Some(value) => true
                    case None => false                     
                  }
     ).is(true)

但是如果直接的正则表达式检查有效...我会同意的