Как автоматизировать API, который принимает различные комбинации параметров запроса и дает соответствующий результат (Использование каратэ) - PullRequest
0 голосов
/ 02 июня 2018

У меня есть универсальный API get, который принимает несколько параметров запроса и дает соответствующий ответ для каждой комбинации параметров запроса.Набор комбинаций определен.Мне нужно автоматизировать API, чтобы охватить каждый случай и проверить ответ с помощью каратэ.Я хочу использовать минимальное количество файлов функций.Пожалуйста, предложите способ сделать это.

1 Ответ

0 голосов
/ 02 июня 2018

Вы действительно должны прочитать документы и посмотреть демонстрации и сэкономить много времени.

Обратите внимание, что вы можете использовать ключевое слово paramsдля этого варианта использования значения null будут игнорироваться (параметр запроса не будет установлен).

Scenario Outline:
    * def query = { name: <name>, country: <country>, active: <active>, limit: <limit> }

    Given path 'search'
    And params query
    When method get
    Then status 200
    # response should NOT contain a key expected to be missing
    And match response !contains <missing>

    # observe how strings are enclosed in quotes, and we set null-s here below
    # and you can get creative by stuffing json into table cells !
    Examples:
    | name   | country   | active | limit | missing                                                      |
    | 'foo'  | 'IN'      | true   |     1 | {}                                                           |
    | 'bar'  | null      | null   |     5 | { country: '#notnull', active: '#notnull' }                  |
    | 'baz'  | 'JP'      | null   |  null | { active: '#notnull', limit: '#notnull' }                    |
    | null   | 'US'      | null   |     3 | { name: '#notnull', active: '#notnull' }                     |
    | null   | null      | false  |  null | { name: '#notnull', country: '#notnull', limit: '#notnull' } |
...