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

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

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

Діагностика waits і власні `ExpectedCondition`

`WebDriverWait` можна доповнити власним timeout message і переліком exceptions, які ігноруються під час polling. Як приклад розглядається `StaleElementReferenceException`: якщо DOM оновився між двома перевірками, wait може повторити умову замість негайного падіння. Ігнорувати всі exceptions без розбору не радять — перелік має відповідати очікуваним перехідним станам. Власна умова може через lambda знайти елемент і послідовно перевірити `isDisplayed()`, `isEnabled()` та текст. Її текстове представлення або окремий message потрапить до timeout diagnostics. Для складної перевірки це дає контроль над поведінкою, але готові `ExpectedConditions` варто перевикористовувати, доки вони виражають потрібний контракт.

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

Java · Advanced: API-автоматизація · 30:00–40:00

Вибір Java client library

Java generator може будувати client на різних HTTP libraries. Відео експериментує з RestTemplate та RestAssured, пояснюючи, що library choice впливає на generated signatures, exceptions і dependencies. Немає універсального найкращого client. Для tests важливі controllable requests, raw negative responses, logging/masking і compatibility з project stack.

Кодогенерація через OpenAPI Generator →

Java · Основний курс · 51:20–1:02:20

`ObjectMapper` configuration і послідовне виправлення DTO

Через зміни в Jackson знадоблюється явна RestAssured configuration з `Jackson2MapperFactory` та налаштованим `ObjectMapper`. Після цього deserialization послідовно виявляє unrecognized fields у неповному DTO. Помилки читаються як карта того, які fields або constructors бракують. Автор показує, як початково можна віддати exception ChatGPT для пояснення, але не приймати відповідь без перевірки. Під час демонстрації згенерована модель пропускає кілька real response fields і змішує object з array. Це підтверджує, що великі DTO потрібно генерувати інструментом, який парсить повний JSON, і все одно звіряти з контрактом.

API-автоматизація: MVC і Jackson →

Java · Основний курс · 55:00–1:00:50

`WebDriverWait`, `FluentWait` і polling interval

Окремий клас waits створює `WebDriverWait` для поточного драйвера з timeout 10 секунд. `pollingEvery(Duration.ofMillis(100))` означає, що до завершення timeout умова перевірятиметься приблизно кожні 100 мс. `WebDriverWait` наслідує `FluentWait`, тому обидва мають спільну основу: timeout, polling і можливість ігнорувати визначені exceptions. Різниця в API не заважає передати до `until` власну lambda або `ExpectedCondition`, яка перевіряє кілька властивостей за один виклик.

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