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

Design Patterns для автоматизаторів · 52:38–1:00:00

JUnit/TestNG lifecycle для tracing

Browser можна ініціалізувати один раз, але `BrowserContext`, `Page` і tracing потрібно створювати перед кожним test та закривати після нього. Один trace на весь suite буде надто великим і незручним для rendering. Для JUnit 5 wrapper реалізує `BeforeEachCallback`/`AfterEachCallback`; для TestNG потрібен listener з обробкою success, failure і skip. Автор віддає перевагу JUnit 4/5 через cleaner extension ordering, lifecycle і parameterization, вважаючи TestNG listeners та shared initialization складнішими.

Playwright Java, пишемо тести та робимо Selenide на мінімалках →

Design Patterns для автоматизаторів · 1:00:00–1:10:00

Auth state і controller context

Token можна зберігати у змінній test class, fixture/context або окремому state object; вибір залежить від lifecycle test runner і потрібної ізоляції. API authorization допустимо перевіряти багато разів, на відміну від дорогого UI-login у кожному тесті. Controller може зберігати token як context і автоматично додавати header до calls. Порожній token дає змогу тим самим controller перевірити unauthorized flow. Controllers одного domain можна об'єднати facade-подібним entry point, якщо це справді скорочує тест.

2. API. Патерни проєктування або чому огірок нікому не тре. →
Запитати в чаті про «lifecycle» →