Найти

Вы здесь:

 

Vacancy Backend RestAssured

https://github.com/cherepakhin/vacancy_backend_restassured

 

Rest тесты для проекта vacancy_backend

Перед проведением тестов запустить проект vacancy_backend.

Адрес backend указан в ru.perm.v.vacancy_backend_restassured.stepdefinitions.Setting

String BASE_URL = "http://127.0.0.1:8090/api";

 

Используется RestAssured и Cucumber

С помощью RestAssured делаются HTTP-запросы. С помощью Cucumber общая организация тестов и получение отчетов.

Проведение тестов (./run_test.sh):

./mvnw test

Отчеты в target/cucumber-reports/cucumber.html

Результаты тестов

Результаты тестов1

Продолжительность тестов

Продолжительность одного из тестов

(можно смотреть Allure report. См. ниже)

Отчет о времени проведении тестов в target/test-results/timeline/index.html

Вид в Idea:

Вид в Idea

Cucumber для Before, Given, Then, When:

import io.cucumber.java.Before;
import io.cucumber.java.en.Given;
import io.cucumber.java.en.Then;
import io.cucumber.java.en.When;

....

@Given("Given. the Echo API is available. Message = {string}.") // string - указать тип
public void the_vacancy_api_is_available(String message) {
    ....
}

@When("When. I request GET echo MESSAGE. Message = {string}.")
public void i_request_echo_message(String message) {
    ....
}

@Then("Status OK.")
public void statusOk() {
    ....
}

RestAssured для request, response

    @When("When. I request GET echo MESSAGE. Message = {string}.")
    public void i_request_echo_message(String message) {
        logger.info("When stage. Message = " + message + ".");
        response = request.get("/"+ message);
    }

    @Then("Status OK.")
    public void statusOk() {
        logger.info("Then stage");
//        assert "aaa".equals("bbb"); // example bad test
        assert response.getStatusCode() == 200;
    }

 

Ручные тесты с помощью httpie

$ https -v https://v.perm.ru:8443/api/echo/aaa

 

HTTPS

Установить параметр RestAssured.useRelaxedHTTPSValidation().

Настройка:

@Given("The Echo API is available. Message = {string}.") // string - указать тип
public void the_vacancy_api_is_available(String message) {
    logger.info("Given stage: Message = " + message + ".");
    RestAssured.baseURI = Setting.BASE_URL + "/echo";
    logger.info("RestAssured.baseURI = " + RestAssured.baseURI);
    RestAssured.useRelaxedHTTPSValidation(); // SKIP SSL VERIFY !!!!
    request = given()
            .header("Content-Type", "text/plain");
}

(см. EchoSteps.java)

 

Allure report

Установка:

sudo apt install default-jre-headless
sudo dpkg -i allure_2.34.1-1_all.deb

Просмотр отчетов (после выполнения тестов):

./`allure serve target/surefire-reports/`

Отчет Allure

 

Ссылки