Будьте уверены, путь не может получить доступ к элементу с номером в пути

В следующем (частичном) ответе JSON:

    {
      "costPrices": {
        "3226186": [
          {
            "fromDate": 1420066800000,
            "toDate": null,
            "product": {

Я пытаюсь получить доступ к значению fromDate следующим образом:

    body("costPrices.3226186[0].fromDate", equalTo(1420066800000L))

Но когда дело доходит до числа в выражении пути, оно не работает, есть ли способ обойти это?

java.lang.IllegalArgumentException: недопустимое выражение JSON: Script1.groovy: 1: неожиданный токен: 3226186 @ строка 1, столбец 40.


person sjottil    schedule 21.09.2016    source источник


Ответы (1)


Ваш селектор неверен. С помощью jsonPath уверенности, написание

"costPrices.3226186[0].fromDate"

означает собрать все свойства 3226186 из объектов в массиве costPrices, а затем выбрать первое.

В вашем случае вы хотите:

body("costPrices.3226186.fromDate[0]", equalTo(1420066800000L))
person Derlin    schedule 30.11.2016