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

Я покажу вам, как быстро и без усилий настроить комплексную среду для тестирования.

Мы будем использовать Selenium WebDriver внутри Selenium Grid, запущенного локально через конфигурацию Docker Compose, и писать наши тесты на Python.

Для отчетности мы будем использовать Allure.

И лучшая часть? Вы можете настроить все это одной командой.

Вам понадобится:

Сначала скачайте шаблон:

git pull https://github.com/andgineer/e2e-tests.git

Перейдите в папку e2e-tests и запустите:

docker-compose up -d

Теперь Selenium Grid работает, поддерживая браузеры Chrome и 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”.

Если Вам интересно, как делать скриншоты при провале тестов, ознакомьтесь с моим блог постом.