Совпадение нескольких ответов в одной схеме сценария - PullRequest
1 голос
/ 30 апреля 2020

Я хочу сопоставить несколько response из API. Пожалуйста, найдите ниже Scenario Outline.

Background:
* def kittens = read('../sample.json')

Scenario Outline: Create Test1
Given url url
And request <Users>
When method POST
Then status 200
And match response.success.name == <expectedName>
And match response.success.contact.mobile == <expectedMobile>

Examples:
  |Users|expectedName|expectedMobile|
  |kittens.User1|'Micheal'|'123456'|
  |kittens.User2|'Steve'|'998877'|

. В приведенном выше случае я могу сопоставить 2 поля, но хочу проверить больше полей, но это увеличивает кучу кода, который мне не нужен .

Несколько response из API:

"success": {
   "name": "Micheal",
   "addr": "Tesla road",
   "contact": {
      "mobile": 123456,
      "phone": 4422356
    }
}


"success": {
   "name": "Steve",
   "addr": "Karen Road",
   "contact": {
      "mobile": 998877,
      "phone": 244344
    }
 }

Я ищу сведение к минимуму строк кода.

Подскажите, пожалуйста, еще один способ, где Я могу загрузить целые response в expected, а затем перейду в секцию example?

Пожалуйста, помогите мне. Спасибо !!

1 Ответ

0 голосов
/ 01 мая 2020

Я настоятельно рекомендую вам не делать этого, и причины подробно объясняются здесь: { ссылка }

Также обратите внимание, что вместо перехода по полю вы можете используйте целое значение JSON в столбце Examples или даже извлеките его из файла, см. examples.feature.

В действительности вы получите гораздо более «увеличивающуюся кучу код "если вы go по этому пути, по моему искреннему мнению.

...