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

Java · Основний курс · 11:53–16:11

Assertions у тесті і перехід до DTO

Первинні перевірки мають бути видимими в тесті, а не захованими в controller. Тому API method повертає `Response`, а test явно перевіряє status code. Така структура спрощує code review і показує, що саме доводить сценарій. Наступний крок — замінити JSON strings на data transfer objects, щоб мати Java types, autocomplete і зручне оновлення полів. Додаються Java Faker для унікальних test data і Lombok для генерації boilerplate. Для Lombok у IntelliJ IDEA потрібні plugin і ввімкнений annotation processing.

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

Java · Основний курс · 20:10–27:06

POJO, Lombok builder і test data

POJO пояснюється як Plain Old Java Object: fields плюс getters, setters, `equals`, `hashCode` і `toString`. Lombok annotation `@Data` генерує цей типовий код. Request JSON переноситься в typed `SuiteRequest`, який можна передавати RestAssured замість raw string. `@Builder` дає покрокову ініціалізацію nested DTO, а Java Faker генерує title і description, зокрема назву книги та Chuck Norris fact. Щоб не перевантажувати test конструкторами, створення request object виноситься в method generator/factory, який повертає готовий `SuiteRequest`.

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

Java · Основний курс · 21:19–25:07

`filter`, `find` і перенесення даних із UI в Java

`filter` залишає в результаті всі елементи, які відповідають `Condition`, і повертає нову `ElementsCollection`. `find` шукає перший відповідний елемент та повертає `SelenideElement`; в API також показані парні варіанти `filterBy` і `findBy`. Якщо на сторінці треба перевірити десятки або сотні значень, багато окремих браузерних звернень можуть стати найдорожчою частиною тесту. У такому випадку доцільно один раз отримати потрібні тексти зі сторінки в Java collection і виконати решту перевірок у Java. Для одного елемента така оптимізація майже не дає користі й лише ускладнює тест.

Selenide: колекції елементів і стан браузера →

Java · Основний курс · 39:02–43:10

Методи Java та генерація за місцем виклику

Показано, що Java-клас успадковує методи `Object`, зокрема `equals`, `hashCode`, `getClass`, `toString`, `notify`, `wait` та інші. Підказки IntelliJ IDEA відображають ці успадковані методи навіть тоді, коли вони не оголошені безпосередньо в Page Object. Новий метод можна спочатку викликати в тесті, а потім створити в цільовому Page Object через quick fix `Create method`. IDE переносить назву й параметри з місця виклику, після чого до згенерованого методу додається реальна реалізація. У контексті Java викладач уточнює, що такі функції класу коректно називаються методами.

Page Objects: рефакторинг тестів →

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

Підключення Playwright до Java-проєкту

Залежність `com.microsoft.playwright` знаходиться через Maven repository і додається у `build.gradle`; для Maven-проєкту потрібно обрати відповідний dependency snippet. Після синхронізації імпорт перевіряється через External Libraries, а сам тест створюється як JUnit test у пакеті Playwright. Показано також конвертацію невеликого Selenium/Selenide прикладу в Playwright за допомогою LLM. Такий інструмент доречний для локального рефакторингу або перенесення синтаксису між мовами й бібліотеками, але початківцю все одно важливо самостійно писати код і вміти знаходити документацію. Прямий Java API вимагає явно створити `Playwright`, `BrowserType`, `Browser` і `Page`. Нову вкладку створюють через browser context, тому автор вважає базовий API низькорівневішим за Selenide та радить згодом сховати повторювану ініціалізацію.

Playwright для Java: основи та поглиблення →

Java · Додаткові матеріали · 11:20–18:10

Створення Java-проєкту в Aqua

У Aqua створюється Selenium-проєкт з Java, Gradle і JUnit 5. `group` використовується як простір імен, а `artifact` — як назва конкретного проєкту. Для курсу обрано JDK 17; автор демонструє Amazon Corretto, але радить узгоджувати дистрибутив з проєктною командою. До залежностей додаються Selenium і Selenide; після створення проєкту треба дочекатися завершення Gradle sync.

Створення першого Java-проєкту та тесту →

Java · Додаткові матеріали · 18:10–25:35

Структура Gradle-проєкту та Java-класу

`build.gradle` описує збірку та залежності, Gradle Wrapper дає відтворюваний запуск, а в `src` створюються source sets `main` і `test`. Службова логіка зберігатиметься в `src/main/java`, а тести — в `src/test/java`. Базова ієрархія Java-коду: package містить class, class містить fields і methods, а локальні variables можуть жити всередині methods. Назва `public` class має збігатися з іменем файлу; безпечне перейменування робиться через IDE refactoring.

Створення першого Java-проєкту та тесту →

Java · Основний курс · 25:15–31:44

Стратегії пошуку та accessibility locators

Playwright пропонує `getByRole`, `getByLabel`, `getByText`, `getByPlaceholder` та інші user-facing locator-и. `getByRole` спирається на accessibility semantics і допомагає перевіряти, чи інтерфейс коректно описує кнопки, поля та таблиці для screen reader; особливо зручним такий пошук може бути для рядків і колонок таблиці. Автор водночас застерігає, що role-based locator-и іноді складніше читати й діагностувати команді. Для більшості проєктів він радить обирати найпростіший стабільний CSS selector або узгоджений data attribute, а accessibility locator використовувати там, де він справді дає читабельний і надійний контракт. API портів Playwright загалом однаковий у Java, Python, C# і TypeScript. Практична перевага TypeScript-версії в тому, що власний Playwright Test runner автоматично надає готовий `Page`; у Java lifecycle потрібно організувати через JUnit або власну обгортку.

Playwright для Java: основи та поглиблення →

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

Java project, Gradle і JUnit

Створюється Java/Gradle project з group/package naming, JUnit Platform і dependencies. Відео використовує Java 11/17 і пояснює різницю Maven та Gradle як build tools. Repositories та artifact storage потрібні не лише для third-party libraries: компанія може публікувати власні clients і test artifacts. Точні dependency versions мають бути pinned і відтворювані на CI.

API: що тестувати та як написати перший тест →

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» →