Тестирование сайта с помощью Selenium Grid и Python

Я покажу вам, как быстро и без усилий настроить комплексную среду для тестирования.
Мы будем использовать Selenium WebDriver внутри Selenium Grid, запущенного локально через конфигурацию Docker Compose, и писать наши тесты на Python.
Для отчетности мы будем использовать Allure.
И лучшая часть? Вы можете настроить все это одной командой.
Вам понадобится:
- Работающая установка docker-compose
- Python 3 (мы установим все необходимые пакеты pip)
Сначала скачайте шаблон:
git pull https://github.com/andgineer/e2e-tests.git
Перейдите в папку e2e-tests и запустите:
docker-compose up -d
Теперь Selenium Grid работает, поддерживая браузеры Chrome, MS Edge и Firefox для тестирования,
сервис доступен по адресу http://localhost:4040.
Он автоматически генерирует отчеты из данных в папке allure-results.
Сгенерированный отчет Allure публикуется на http://localhost:4040.
Чтобы выполнить тесты в каталоге tests/ и просмотреть отчет, выполните:
. ./activate.sh
./scripts/test.sh
Наши тесты включают параметр --host для указания URL тестируемого веб-приложения.
Если Вам интересно, как это сделано, ознакомьтесь с
pytest hook pytest_addoption
в conftest.py.
Например, для тестирования https://google.com вы бы запустили:
scripts/test.sh --host=https://google.com
Этот тест не пройдет, так как на главной странице Google нет слова “Python”.
Если Вам интересно, как делать скриншоты при провале тестов, ознакомьтесь с моим блог постом.