- Pytest - тестовый фреймворк для создания тестов и их запуска
- Selenium - инструмент для автоматизации действий веб-браузера
- Selenoid - легковесный аналог Selenium Hub написанный на Golang.Позволяет запускать тесты внутри Docker контейнеров.
- Allure Report - Система отчетности (Тест репорт система)
- Docker - программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации.
- config - Каталог для конфигурационных файлов.В нем находится
browsers.jsonкоторый содержит описание браузеров и их версий для работы с Selenoid. - core - Каталог для хранения объектов,классов и т.д. которые используются как слой инициализации для WebDriver.
- helpers - Методы для взаимодействия с браузером через протокол WebDriver .
- page - Слой описания page элементов и page object.
- tests - Слой описания бизнес логики сценариев и их проверки.
- utils - Каталог для хранения вспомогательных утилит
- Запускаем shell скрипт
sh up.sh. Это запустит все необходимые контейнеры для работы и создаcт shell скрипт,в котором описаны команды для загрузки образов Selenoid с готовыми браузерами.
Selenoid-UI станет доступен по адресу
http://localhost:8080/#/
Allure Report UI доступен по адресу
http://localhost:5252/allure-docker-service-ui/projects/default
- Скрипт автоматически скачает необходимые image с браузерами, которые будут использоваться для создания контейнеров.Скрипт собирает default версии браузеров, указанных в
config/browsers.json - Вводим в консоль команду
docker exec -it ui-autotests <ваша_команда>,где вместо<ваша команда>подставляем неообходимую команду для тест-комплекта. Как пример:docker exec -it ui-autotests pytestНаhttp://localhost:8080/#/вы сможете увидеть запущенные контейнеры с браузерами, в которых запущены тестовые сценарии
Посмотреть что происходит в контейнере можно, нажав на его идентификатор

http://localhost:5252/allure-docker-service-ui/projects/default/ либо получить последний отчет - http://localhost:5252/allure-docker-service-ui/projects/default/reports/latest
- Устанавливаем локально Python. Подробнее на
https://www.python.org/downloads/ - В папке проекта запускаем команду
python -m pip install --upgrade pipдля обновления pip - В папке проекта запуска команду
pip3 install -r requirements.txtдля установки зависимостей - Загружаем образ с браузером. Допустим
docker pull selenoid/chrome:106.0 - Вводим команду для запуска автотестов. Допустим
python pytest - После прогона автотестов, результаты можно посмотреть по адресу
http://localhost:5252/allure-docker-service-ui/
- В файле pytest.ini прописаны доп.опции.
- pytest-xdist и его параметр -n X, где X - количество запущенных тестов одновременно, параллельно друг другу.



