Как заполнить несколько параметров запроса в API с использованием схемы сценария огурца - PullRequest
0 голосов
/ 15 марта 2019

Я использую Rest Assured в сочетании с Cucumber для тестирования API, который имеет несколько параметров запроса.Скажем, API:

http://dev.abcd.com/mainpath?param1=value1&param2=value2&param3=value3

Я хочу изменить значения параметров в зависимости от сценария с огурцом

Scenario Outline: API returns successfull response on different parameters

    Given Main path API is hit 
    When "<param1>","<param2>","<param3>" are passed
    Then the response returns a status code of 200

Examples:
  |param1|param2|param3|
  |value1|value2|value3|
  |value4|value5|value6|

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

В большинстве уроков и документации прямо указывается передача параметра в формате given().queryParam().then(), где мне придется жестко задавать параметры, которые мне не нужны.

Любые указатели на этот счет будут полезны.

1 Ответ

0 голосов
/ 15 марта 2019

Я немного обновил файл объектов и использовал функцию Таблицы данных огурцов для получения значений.Включили небольшой фрагмент, используя который, будьте уверены, чтобы сделать звонок в соответствии с вашим URI

Функция :

Given I perform GET operation on URL with param values
| param1 | param2 | param3 |
| Value1 | Value2 | Value3 |
| Value4 | Value5 | Value6 |

Шаг Определение:

@Given("^I perform GET operation on URL with param values$")
public void i_perform_GET_operation_on_URL_with_param_values(DataTable arg1) {

    List < Map < String, String >> list = arg1.asMaps(String.class, String.class);
    for (int i = 0; i < list.size(); i++) {
        String Param1 = list.get(i).get("param1");
        String Param2 = list.get(i).get("param2");
        String Param3 = list.get(i).get("param3");

        String response = RestAssured.get("http://dev.abcd.com/mainpath?param1=" + Param1 + "&param2=" + Param2 + "&param3=" + Param3).then().extract().asString();
        //Edit suggested by Vamsi Ravi
        //String response = RestAssured.given().baseUri("http://dev.abcd.com").basePath("/mainpath").queryParam("param1",Param1).queryParam("param2",Param2).queryParam("param3", Param3).when().get().then().extract().asString();

        System.out.println("The Content is " + response);
    }

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