Тестирование сайта с помощью 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”.
Если Вам интересно, как делать скриншоты при провале тестов, ознакомьтесь с моим блог постом.