Pull to refresh
7
3
Subscribers
Send message

Привет! Спасибо за вопрос и предложение. Это как раз сырой вариант, можно было бы и сразу сделать параметризированным, но я тут только учился и искал наиболее подходящую реализацию.

Первый вариант
Первый вариант

Затем были добавлены новые ручки этой API и понадобилось сделать отдельно метод на /offices
requestSpecificationOffices = RestAssured.given()
.baseUri(BASE_URL_POS)
.basePath(OFFICES)
.accept(ContentType.JSON);


И метод на проверку по городу, метро, радиусу и лимиту

public static HashMap<String, Object> getCityAndMetroRadiusAndLimitTestData(String city, String metroRadius, String limit) {
HashMap<String, Object> metroParams = getCityTestData(city);
metroParams.put(METRO_RADIUS.getResponseFiledName(), metroRadius);
metroParams.put(LIMIT.getResponseFiledName(), limit);
return metroParams;
}

И ещё были вынесены проверки:
public static ValidatableResponse checkResponseStatusCodeAndScheme(ValidatableResponse response, int code, String schema) {
return response
.statusCode(code)
.body(matchesJsonSchemaInClasspath(schema))
.time(lessThan(1000L));
}
public static void checkResponseHasItemsInPath(ValidatableResponse response, String path, String item) {
response
.body(path, hasItems(item));
}

Время отклика захардкожено, т.к. на проекте есть стандарты, которые не меняются годами.
Обязательно выложу позже обновление, можно сделать второй частью, чтобы показать развитие API и подстраивание тестов под новые требования

Information

Rating
Does not participate
Works in
Registered
Activity

Specialization

Инженер по автоматизации тестирования, Инженер по ручному тестированию
Java
REST Assured
Selenium
Selenide
SQL
Git
Cucumber