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 с ошибкой