Можно ли использовать что-то вроде JsonPath в функциях JavaScript для навигации по json? - PullRequest
1 голос
/ 04 апреля 2019

Вот мой тест:

  Background:
    * url serverUrl
    * configure headers = read('classpath:headers.js')
    * def getId = function(){ return java.util.UUID.randomUUID() + '' }

  Scenario: Create lead
    * def req = read('classpath:data/leads.json')
    * def fun = function(x, i){ x.id = getId(); return x }
    * def updated = karate.map(req.updated, fun)
    * def deleted = karate.map(req.deleted, fun)
    Given path '/leads'
    And request req
    When method post
    Then status 200
    And match $..updated.length() == [3]

Можно ли как-нибудь заменить эти строки

    * def fun = function(x, i){ x.id = getId(); return x }
    * def updated = karate.map(req.updated, fun)
    * def deleted = karate.map(req.deleted, fun)

как

    * def fun = function(x, i){ $x..id = getId(); return x }
    * def req = karate.map(req, fun)

Есть ли у нас что-то, что позволяетлегкая навигация по JSON в функции JS?

1 Ответ

0 голосов
/ 04 апреля 2019

Нет. JsonPath не работает в JavaScript. Вам, вероятно, нужно использовать второе преобразование, используя karate.map(). Для только для чтения JsonPath вы можете использовать karate.jsonPath() - но извините, такие обновления невозможны.

См. Этот другой ответ для более: https://stackoverflow.com/a/54925754/143475

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...