В данном проекте на базе Pytest, Selenium 4, Allure реализована автоматизация 5 тестовых сценариев, проверяющих работоспособность функционала онлайн-магазина https://demo.prestashop.com/#/en/front.
- Доступности необходимого сайта ("Online Shop Availablility Test");
- Заказа товара пользователем и оформление данного заказа (тест критического пути) ("Placing Order Test");
- Ввода невалидных пользовательских данных и получение соответствующего уведомления ("Wrong Credential Authentification Failed Test");
- Поиска товара и проверка на соответствие выдачи пользовательскому запросу ("Searching Items Relevant Result Check").
- Восстановления пароля от пользовательского аккаунта ("Password Recovery Test").
В основном тест-кейсе ("Placing Order Test") на проверку пользовательского пути от выбора товара до оформления заказа я реализовал нажатие необходимых для перехода к следующему шагу кнопок не только с помощью клика мышью, но и с помощью нажатия клавиши ENTER так как счел это довольно распостраненным паттерном пользовательского поведения. Данный сайт очень быстро банит зарегистрированные вручную аккаунты и поэтому тест пользовательского пути осуществляется без предварительного входа в аккаунт, то есть незарегистрированным пользователем.
По итогам тестов в Allure формируется отчет следующего вида:
Вкладка Behaviours:
В соответствии с техническим заданием я реализовал POM структуру. Тесты, элементы страниц, функции для взаимодействия с элементами страниц разделены на классы.
- Для запуска всех тестов необходимо ввести в терминале команду
python -m pytest --alluredir allure-report
- После выполнения тестов для формирования отчета в Allure ввести в терминале команду
allure serve allure-report