Skip to content

Latest commit

 

History

History
21 lines (18 loc) · 1.89 KB

File metadata and controls

21 lines (18 loc) · 1.89 KB

Web framework for UI and API testing (selenium + pytest)

An example of a framework based on Selenium and pytest. Suitable for functional testing of web applications through UI and API. В фреймворке:

  • реализован page object pattern как BasePage класс фреймворка от которого наследуются классы страниц тестируемого сервиса
  • web-driver вынесен в отдельный класс и реализован как синглтон с использованием метакласса
  • в conftest.py есть пример создания и применения фикстур с разным скоупом
  • в фреймворке запросы к API вынесены в отдельный менеджер и отделены от частной реализации API тестируемого сервиса
  • управление стандартными элементами UI вынесено в отдельные классы фреймворка. Классы инкапсулируют всю логику поведения элемента

Для установки:

  • Скачать репозиторий
  • Создать виртуальное окружение python3, файл requirements.txt в корневой директории
  • python -m venv venv
  • venv/Scripts/activate
  • pip install -r requirements.txt

Файлы веб драйвера находятся в папке drivers. В зависимости от установленной версии бразера и операционной системы, может потребоваться скачать другую версию веб драйверов.

Выбор браузера для запуска тестов, base_url тестируемого сервиса и переменные путей задаются в config.py