1.1.6. Набор данных JSON

JSON - набор данных формируется из данных в формате JSON, которые могут быть получены из следующих источников:

  1. Groovy script

    Скрипт задаётся пользователем и должен возвращать JSON как строку, например:

    return '''
            {
              "items": [
                {
                  "name": "Java Concurrency in practice",
                  "price": 15000
                },
                {
                  "name": "Clear code",
                  "price": 13000
                },
                {
                  "name": "Scala in action",
                  "price": 12000
                }
              ]
            }
            '''
  2. URL

    Генератор отчётов запрашивает данные через URL с помощью GET HTTP-запроса, например:

    https://jsonplaceholder.typicode.com/users
  3. Parameter

    Внешний параметр отчёта с типом String, содержащий данные JSON, можно создать на вкладке Parameters and Formats редактора отчётов.

Извлечь необходимые данные из полученного дерева JSON можно запросом JsonPath. К примеру, выражение $.store.book[*] вернёт все книги из дерева JSON в следующем примере:

{
    "store": {
    "book": [
            {
                "category": "reference",
                "author": "Nigel Rees",
                "title": "Sayings of the Century",
                "price": 8.95
            },
            {
                "category": "fiction",
                "author": "Evelyn Waugh",
                "title": "Sword of Honour",
                "price": 12.99,
                "isbn": "0-553-21311-3"
            }
    ],
    "bicycle": {
        "color": "red",
        "price": 19.95
    }
}
}

Более подробно о выражениях JsonPath можно посмотреть на http://goessner.net/articles/JsonPath/.