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

Терміни, нюанси та джерела

Практика · 10:00

Перевірка fixture isolation

Створіть параметризовані negative login cases з IDs.
Запустіть їх із function-scoped BrowserContext.
Окремо спробуйте shared page із явним cleanup.
Додайте check, що authorization state попередньої ітерації не доступний наступній, і порівняйте час запуску.
Є вимірювання speed trade-off і test, який падає при state leakage.

2. Pytest fixtures, playwright fixture, прараметризація тестів →

Java API-автоматизація · 0:00–5:00

Починати з product pain, а не з tool

Перше питання — що саме болить: release speed, regressions, platform drift, backend instability, device coverage чи migration. Далі з’ясовують product architecture, team ownership, roadmap і engineering maturity. Інструмент обирається після цього. Наприклад, планована migration з native на cross-platform або навпаки змінює test seams і робить speculative framework марним.

Стратегія тестування мультиплатформних систем →

Python мануфактура · Сесії: AMA та PMP · 1:10–2:20

Спочатку стабільність, потім оптимізація

Початковий end-to-end тест має бути стабільним. Лише після цього його можна декомпозувати або переносити частину перевірок на нижчі рівні заради швидкості. `isLoaded` підтримує стабільність двома способами: фіксує видимий користувацький стан і рано зупиняє сценарій із зрозумілою помилкою, якщо сторінка не готова.

Що має описувати isLoaded →

Python мануфактура · Програма курсу · 50:20–52:50

Підсумкова архітектура precondition

API package містить client і мінімальні response models, fixture повертає авторизований client, а UI-тест використовує тільки потрібний endpoint для setup. Login token не перевипускається перед кожною операцією instance. Практична вправа — реалізувати аналогічний precondition через наявний у проєкті HTTP client (`requests`, `httpx` або Playwright APIRequest), перевірити authentication окремо й лише потім під’єднати результат до UI-сценарію.

3. API preconditions →
Запитати в чаті про «speed» →