Как сохранить значение из запроса и проверить ответ в java огурце? - PullRequest
0 голосов
/ 14 сентября 2018

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

Например, в моем файле функций:

When I use numbers 123
Then the response matches the request

Итак, у меня есть код для прохождения через мой запрос:

@Step
public void searchUsingNumber(String number) throws Exception{
    validatableResponse = with()
            .baseUri("https://xxx")
            .param("numbers", number)
            .get().then();
}

В моем определении шага он установлен так:

@When("^I use numbers \"([^\"]*)\"$")
public void iUseNumbers(String number) throws Throwable {
    eventsMethods.searchUsingNumber(number);
}

Это выводит 123.

Нет, я хочу посмотреть в своем ответе в операторе Then:

    public String number() {
        String number = validatableResponse.extract().jsonPath().get("number").toString();
        log.info("number is: " + number);
        return number;
    }

------------

    @Then("^the response matches the request$")
    public void theResponseMatchesTheRequest(){
        String number= eventsMethods.number();

    }

Это выводит 123. Но я хочу выполнить утверждение в операторе Then, чтобы проверить, что ответ 123 соответствует 123 в запросе.,Другими словами, получите значение из оператора when и подтвердите значение из ответа.

Каков наилучший способ сделать это?

1 Ответ

0 голосов
/ 17 сентября 2018

Вы можете использовать Scenario Outline:

в файле возможностей

Scenario Outline: test the response
  Given the compute page is open
  When I use numbers "<number>"
  Then the response matches the request "<number>"
  Examples: 
    | number |
    | 123    |
    | 42     |

код клея

@When("^I use numbers \"([^\"]*)\"$")
public void iUseNumbers(String number) throws Throwable {
    ...
}

@Then("^the response matches the request \"([^\"]*)\"$")
public void theResponseMatchesTheRequest(String number) throws Throwable {
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...