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




(можно смотреть Allure report. См. ниже)
Отчет о времени проведении тестов в target/test-results/timeline/index.html
Вид в 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/`
