Как я параметризирую параметры, которые я передаю в моем запросе API и выполняю через Каратэ? - PullRequest
1 голос
/ 28 июня 2019

Я тестирую API для своего приложения, и каждый API имеет несколько параметров, которые необходимо передать, например. ниже:

https://abc.xyz.com/***.svc/restful/GetSummary?FromDate=2019/06/28&ToDate=2019/06/28&CompAreaId=15&RegId=4

Каждый параметр в запросе имеет несколько значений (в пределах определенного набора значений), поэтому, если я хочу параметризировать каждый параметр всеми значениями, которые он может иметь, как я могу создать сценарий, который поможет мне достичь этого?

Буду признателен за любые подсказки / взгляды.

Я передаю параметры, как показано в приведенном ниже коде, но не в состоянии осуществить сценарий, упомянутый выше, было бы много времени и повторов для передачи параметров в отдельном сценарии каждый раз.

Сценарий: убедитесь, что API GetContext возвращает данные с параметрами

Given path 'GetContext'
And param FromDate = '2019/06/27'
And param ToDate = '2019/06/27'
And param CompAreaId = 20
And param RegId = 4
When method get
Then status 200
* def res = response
* print 'response:', response

1 Ответ

2 голосов
/ 28 июня 2019

Вы можете использовать «Схему сценария» для достижения этой цели. Следующий модифицированный код ниже будет работать для 3 строк в примере. (ссылка по теме: https://github.com/intuit/karate#the-cucumber-way)

Scenario Outline:
Given path 'GetContext'
And param FromDate = '<FromDate>'
And param ToDate = '<ToDate>'
And param CompAreaId = <CompAreaId>
And param RegId = <RegId>
When method get
Then status 200
* def res = response
* print 'response:', response

  Examples:
    | FromDate   | ToDate      | CompAreaId | RegId |
    | 2019/06/27 | 2019/06/27  | 20         | 4     |
    | 2019/06/28 | 2019/06/28  | 21         | 5     |
    | 2019/06/29 | 2019/06/29  | 22         | 6     |

Вместо статического счета, если у вас есть динамическое число строк, вы можете сохранить значения параметров в json или CSV и ссылаться на них в примере. (ссылка по теме: https://github.com/intuit/karate#dynamic-scenario-outline)

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