Search
Write a publication
Pull to refresh
7
0
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

Test Automation Engineer, Manual Test Engineer
Java
REST Assured
Selenium
SELENIDE
SQL
Git
Cucumber