-время, затраченное на ручное тестирование (минут): 30;
-время, затраченное на автоматизацию (минут): 360;
Разработчики интернет-банка, изрядно поворчав, предоставили вам тестовый режим запуска целевого сервиса, в котором открыта программная возможность создания клиентов банка, чтобы вы могли протестировать хотя бы функцию входа.
Важно: ваша задача заключается в том, чтобы протестировать функцию входа через веб-интерфейс с использованием Selenide.
Для удобства вам предоставили документацию, которая описывает возможность программного создания клиентов банка через API. Вот дословно представленное ими описание:
Давайте вместе разбираться. Мы уже проходили:
клиент-серверное взаимодействие, 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.
Дальнейшее использование выглядит следующим образом:
Это не лучший формат организации, будет лучше, если, как в предыдущей задаче, вы вынесете это в класс-генератор, который по требованию вам будет создавать рандомного пользователя, сохранять его через API и возвращать вам в тест.
В логах теста вы увидите:
Для активации этого тестового режима при запуске SUT нужно указать флаг -P:profile=test, то есть: java -jar app-ibank.jar -P:profile=test.
Важно: если вы не активируете тестовый режим, любые запросы на http://localhost:9999/api/system/users будут вам возвращать 404 Not Found.
Вам нужно самостоятельно изучить реакцию приложения на различные комбинации случаев, для этого придётся вспомнить комбинаторику:
наличие пользователя; статус пользователя; невалидный логин; невалидный пароль. Дополнительно: оцените время, которое вы затратили на автоматизацию, и время, за которое вы проверили бы те же сценарии вручную, используя для тестирования интерфейса браузер и Postman для доступа к открытому API.