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

Java · Основний курс · 21:40–26:30

Життєвий цикл драйвера в JUnit 5

Ініціалізація `WebDriver` і `WebDriverWait` переноситься з тіла тесту до lifecycle methods. `@BeforeEach` створює новий стан перед кожним тестом, тоді як `@BeforeAll` дає змогу один раз підготувати спільний драйвер для тестів класу. Для стандартного `@BeforeAll` метод і пов'язані поля робляться `static`. Закриття браузера переноситься до `@AfterAll`. Під час демонстрації зайва ініціалізація створює кілька драйверів, тому setup спрощується до одного місця, а teardown залишається обов'язковим. `WebDriverWait` має бути побудований на тому самому instance драйвера, з яким працює тест.

Selenium: очікування та мікрообгортки →

Java · Основний курс · 1:25:20–1:35:10

JUnit 5 extensions для driver lifecycle і login

Повторювані `@BeforeAll` і `@AfterAll` замінюються JUnit 5 extension. `WebDriverLifecycleExtension` реалізує `BeforeAllCallback` та `AfterAllCallback`: до тестів ініціалізує driver через provider, після тестів закриває його. Клас підключається через `@ExtendWith`, тому setup/teardown більше не дублюються в кожному test class. Окремий login extension виконує авторизацію перед тестовим класом. Такі розширення дозволяють комбінувати потрібні preconditions без спільного base class. Наприкінці до wrapper додається `findByText(...)`, який будує XPath і повертає той самий тип actions; тест запускається після виправлення синтаксису локатора.

Selenium: очікування та мікрообгортки →
Запитати в чаті про «afterall» →