Python мануфактураJavaDesign Patterns для автоматизаторів

Python мануфактура · Програма курсу · 23:40–29:25

Передача `project_id` у page object

Тест викликає `api_client.get_projects()`, обирає цільовий проєкт і передає його `id` у метод `project_page.open_by_id()`. Це прибирає створення проєкту та пошук його URL через UI. Перші падіння спричинені не API, а неправильним типом fixture: замість авторизованої page повернувся context або вже закрита сторінка. Setup повинен передавати саме ту page, яку створив і авторизував, без другого `new_page()`.

3. API preconditions →

Python мануфактура · Програма курсу · 27:00–33:00

DAMP і прискорення через прямий URL

Кроки отримують предметні назви, наприклад `search_for_project(page, target_project)`. Завдяки цьому тіло тесту читається як послідовність дій, а низькорівневі локатори залишаються в helper-функціях. Далі прибирається зайвий маршрут «головна сторінка → клік Login → сторінка входу». Якщо клік уже перевіряється окремим тестом, наступний сценарій може відкрити цільову сторінку входу напряму. У демонстрації це скорочує виконання приблизно з 6 до 4 секунд. Оптимізація коректна, доки перехід через головну сторінку не є предметом саме цього тесту.

1. Рефакторинг та оптимізація, KISS, DRY, DAMP, YAGNI →
Запитати в чаті про «direct-navigation» →