О проекте
Пример тестирования web-приложения с помощью pytest, allure, selenium (паттерн Page Object).
За основу этого проекта были взяты:
- https://github.com/TimurNurlygayanov/ui-tests-example
- https://www.youtube.com/watch?v=BRxp1Kn1G7w
Файлы base.py и elements.py позаимствованы / переиспользуются из этого проекта.
Что было изменено:
- в base.py был добавлен метод проверки заглавия страницы
- добавлено логирование в проекте (loguru)
- подключен allure report
- тест-кейсы разбросаны по проектам с самостоятельными conftest.py для каждого модуля (используется разный размер окна браузера)
- изменён способ подключения и настройки драйвера
- добавлено больше примеров
Настройка проекта
- Установить зависимости
pip3 install -r requirenments.txt
- Скачать подходящую версию chrome-драйвера, соответствующую версии вашего Chrome-браузера:
- разместить в корне проекта
- под именем “chromedriver”.
- Для просмотра allure-отчёта требуется установить allure-клиента для необходимой ОС
https://github.com/allure-framework/allure2/releases
Требуется Java 11, при наличии ошибки "Please set the JAVA_HOME variable in your environment to match the location of your Java installation.", могут помочь команды:
- echo $JAVA_HOME
- readlink -f $(which java)
- export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/
Запуск проекта
Имеется много вариантов запуска, рекомендуется ознакомиться с возможностями pytest самостоятельно. Рекомендуемый:
python3 -m pytest --alluredir=allure_data
Другие варианты:
- Запуск всех тестов проекта
python3 -m pytest
- Запуск отдельного модуля
python3 -m pytest tests/small_screen
- Запуск отдельного сценария
python3 -m pytest tests/small_screen/test_smoke_index*
- Запуск отдельной функции в сценарии в модуле
python3 -m pytest tests/small_screen/test_smoke_index_small.py::test_check_main_menu_small_screen
Подключение allure
python3 -m pytest --alluredir=allure_data
allure_data - это лишь директория в корне проекта, в которой будут храниться исходная дата репортов. Чтобы просмотреть в удобочитаемом виде есть два варианта:
- просмотр локального отчёта
allure generate -o allure_reports allure_data --clear
# allure_reports - куда генерируем
# allure_data - откуда берём данные
# --clear - удаляем предыдущие отчёты
# Далее самостоятельно открыть файл index.html в директории allure_reports
- просмотр отчёта в локальном браузере
allure serve allure_data
# Отчёт откроется автоматически в браузере
Просмотр логов
См. каталог logs/
в корне проекта.