README.md

О проекте

Пример тестирования 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 для каждого модуля (используется разный размер окна браузера)
  • изменён способ подключения и настройки драйвера
  • добавлено больше примеров

Настройка проекта

  1. Установить зависимости
pip3 install -r requirenments.txt
  1. Скачать подходящую версию chrome-драйвера, соответствующую версии вашего Chrome-браузера:
  • разместить в корне проекта
  • под именем “chromedriver”.
  1. Для просмотра 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 - это лишь директория в корне проекта, в которой будут храниться исходная дата репортов. Чтобы просмотреть в удобочитаемом виде есть два варианта:

  1. просмотр локального отчёта
allure generate -o allure_reports allure_data --clear
# allure_reports - куда генерируем
# allure_data - откуда берём данные
# --clear - удаляем предыдущие отчёты

# Далее самостоятельно открыть файл index.html в директории allure_reports
  1. просмотр отчёта в локальном браузере
allure serve allure_data
# Отчёт откроется автоматически в браузере

Просмотр логов

См. каталог logs/ в корне проекта.

Конвейеры
0 успешных
0 с ошибкой