refactor: hierarchical test architecture (Project > Role > BP > Steps)

Реструктурированы тесты под иерархию Проект > Личный кабинет > БП > Шаги.

Архитектура:
- Бизнес-процесс = Python-класс, шаг = метод класса
- Шаги именуются test_s01_*, test_s02_* и т.д.
- БП именуются BP01_, BP02_ и т.д., каждый в своей папке

Передача данных:
- browser_page (scope=class) — один браузер на весь БП, авторизация 1 раз
- bp_state (scope=class) — словарь для передачи данных между шагами одного БП
- shared_state (scope=session) — словарь для передачи между разными БП

Зависимости шагов (pytest-dependency):
- Если шаг N упал, шаги N+1... получают статус SKIPPED автоматически
- Имена зависимостей: BP01::s01, BP01::s02 и т.д.

Изменения файлов:
- tests/conftest.py: добавлены browser_page и bp_state, вынесены
  вспомогательные функции _get_role и _login, сохранена role_page
  (deprecated) для обратной совместимости
- tests/01_vetdept/conftest.py: новый, содержит shared_state
- tests/01_vetdept/BP01_navigation/: новая папка с тестом навигации
- tests/01_vetdept/001_login_test.py: удалён (переписан в BP01)
- requirements.txt: добавлен pytest-dependency
- pytest.ini: добавлен маркер dependency
This commit is contained in:
VolandSZ
2026-08-31 17:37:21 +03:00
parent c47aeff07d
commit e718bf48d4
8 changed files with 153 additions and 76 deletions

View File

@ -3,4 +3,5 @@ pytest
pytest-playwright
pytest-xdist
pytest-html
pytest-dependency
python-dotenv