Автотесты для сайта https://automationexercise.com
Всего было создано 11 автотестов затрагивающие основной функционал сайта. В основном реализованы позитивные сценарии. При разработке были использованы следующие патерны - Page object, fixture, allure, faker
Все тесты приближены к реальным, присутствуют проверки, используются исключительно случайные значения
- Сейчас проект настроент под jenkins и если запускать его локально - нужен локально установленный chromium. Если необходимо использовать локально - нужно переключить ветку в chrome
- Время выполнения всех тестов в allure не точное, иногда сайт просто вставал и не происходило ничего
- Добавлять дополнительные проверки на url страницы не стал т.к. сайт является тестовым и производительность не самая лучая, поэтому работает крайне нестабильно, ожидания не всегда помогают
- Ставить xdist для паралельного запуска тестов тоже не стал делать
- Делал в основном только положительные тексты т.е. проверки на часть незаполненных полей делать не стал
- Регистрация нового пользователя и выход из аккаунта
- Авторизация с несуществующими данными
- Авторизация с существующими данными из списка тестовых пользователей
- Регистрация нового пользователя и удаление аккаунта
- Регистрация с существующими данными пользователя
- Отправка формы обратной связи
- Проверка соответствия полей продукта в списке продуктов и карточке продукта
- Проверка соответствия категории в карточке продукта после фильтрования продуктов по этой категории
- Поиск продукта по ключевому слову и проверка соответсия результата
- Проверка соответствия бренда в карточке продукта после фильтрования продуктов по этому бренду
- Добавить случайное количество продукта, проверить отображаемое количество в корзине и оформить заказ
pip install -r requirements.txt
pytest --alluredir=allure-results && allure serve allure-results
Поднял jenkins lts-jdk17 через docker. Хром на него толком не встает + у меня мак на m-чипе, а с этой архитектурой в целом никто не дружит. Поэтому с 0 писал докерфайл, с 0 настраивал сам jenkins + пришлось переписать проект под chromium локальный. Поэтому теперь он не запустится, если на локальном ПК нет установленного chromium в папке /usr/bin/chromium . По итогу 2 теста не проходят т.к. не могут найти элементы. При этом локально все работает. Скорее всего дело в хромиуме или версии jenkins. К сожалению глубже понять проблему не смог т.к. я не devops. Скорее всего на нормальном сервере все будет работать отлично или при наличии девопса, который настроит


