- 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/#/
вы сможете увидеть запущенные контейнеры с браузерами, в которых запущены тестовые сценарии
Посмотреть что происходит в контейнере можно, нажав на его идентификатор
4. После прогона автотестов, результаты можно посмотреть по адресу 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 - количество запущенных тестов одновременно, параллельно друг другу.