变量上的加特林 JsonPath

问题描述 投票:0回答:1

我对加特林有疑问。我想做一些简单的事情..假设我在这个变量中有这个 Json 并且想要做一个 loadrunner 风格的 IDX。不知怎的,这是不可能的??

  1. 获取 user == same 的计数
  2. 从 0 到上述计数中选择一个随机数
  3. 选择相应的 book_title 并将其放入变量中
val testjson = """{
  "Books": [
    {
      "book_title": "bookTitle21",
      "user": "same"
    },
    {
      "book_title": "bookTitle73",
      "user": "same"
    },
    {
      "book_title": "bookTitle0",
      "user": "admin"
    }
  ]
}"""

所以结果会是这样的

val userCount = JonPath("$.Books.length").as[Int]

val randomIndex = util.Random.nextInt(userCount)

val randomBook = JsonPath("$.Books[#{randomIndex}].book_title", testjson) //这不起作用

查看问题描述;

尝试过 jmespath 和 jackson 等替代品

scala performance-testing gatling scala-gatling
1个回答
0
投票

如果当前的json来自响应体,您可以使用

findRandom
方法提取所需的值,保存,然后通过
Session
使用它。

    .check(
      jsonPath("$.json.Books..book_title").findRandom.saveAs("randomBook")
    )
© www.soinside.com 2019 - 2024. All rights reserved.