Skip to content

FecklaSveckla/Patterns_TestMode

Repository files navigation

Build status

Patterns_TestMode

Задача №2: тестовый режим

-время, затраченное на ручное тестирование (минут): 30;

-время, затраченное на автоматизацию (минут): 360;

Условие

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

Важно: ваша задача заключается в том, чтобы протестировать функцию входа через веб-интерфейс с использованием Selenide.

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

клиент-серверное взаимодействие, HTTP-методы и коды ответов, формат данных JSON, REST-assured. Мы настоятельно рекомендуем ознакомиться с документацией и примерами на Rest-assured.

Подключается обычным образом в Gradle:

testImplementation 'io.rest-assured:rest-assured:4.3.0' testImplementation 'com.google.code.gson:gson:2.8.6' Библиотека Gson нужна для того, чтобы иметь возможность сериализовать Java-объекты в JSON.

То есть мы не руками пишем JSON, а создаём data-классы, объекты которых и преобразуются в JSON.

Дальнейшее использование выглядит следующим образом: image Это не лучший формат организации, будет лучше, если, как в предыдущей задаче, вы вынесете это в класс-генератор, который по требованию вам будет создавать рандомного пользователя, сохранять его через API и возвращать вам в тест.

В логах теста вы увидите: image Для активации этого тестового режима при запуске SUT нужно указать флаг -P:profile=test, то есть: java -jar app-ibank.jar -P:profile=test.

Важно: если вы не активируете тестовый режим, любые запросы на http://localhost:9999/api/system/users будут вам возвращать 404 Not Found.

Вам нужно самостоятельно изучить реакцию приложения на различные комбинации случаев, для этого придётся вспомнить комбинаторику:

наличие пользователя; статус пользователя; невалидный логин; невалидный пароль. Дополнительно: оцените время, которое вы затратили на автоматизацию, и время, за которое вы проверили бы те же сценарии вручную, используя для тестирования интерфейса браузер и Postman для доступа к открытому API.

About

Задача №2: тестовый режим

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages