Pull to refresh

Comments 3

Что вы там тестируете? Вы даже не хотите организовать схему подтверждения электронной почты ваших клиентов. Папка СПАМ на 90% заполнена Альфабанком. Реклама, отчеты о собраниях, акции и т.д. и т.п. Если кто-то из ваших клиентов указал мою почту, то почему я должен с этого иметь проблемы и тратить время? Пусть он её сначала подтвердит, и только после подтверждения отправляйте вашу "конфиденциальную информацию" ему. Мне не надо.

УВЕДОМЛЕНИЕ О КОНФИДЕНЦИАЛЬНОСТИ: Это электронное сообщение и любые документы, приложенные к нему, содержит конфиденциальную информацию. Настоящим уведомляем Вас о том, что если это сообщение не предназначено Вам, использование, копирование, распространение информации, содержащейся в настоящем сообщении, а также осуществление любых действий на основе этой информации, строго запрещено.

Привет. А зачем query параметры указывать в урле?

.get("/offices?metroRadius=1000&city=Королёв")

можно же вот так

.get("/offices")
.queryParam("metroRadius", 1000)
.queryParam("city", Королёв)

а еще лучше указывать переменные и из 2х тестов получаем 1 параметризованный. Меньше кода и легче поддерживать.

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

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

Затем были добавлены новые ручки этой 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 и подстраивание тестов под новые требования

Sign up to leave a comment.