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

Java · Основний курс · 11:18–17:14

Примітиви, посилання в пам’яті та `toString()`

Локальна примітивна змінна на кшталт `int` і об’єкти або масиви мають різне представлення в пам’яті. Для масиву примітивів або посилальних типів змінна веде до області в heap; масив `String` містить посилання на окремі рядки. Простий друк масиву не показує його елементи так само зручно, як друк колекції: для масиву в демонстрації потрібне явне перетворення через `Arrays.toString(...)`. Коли об’єкт передається в `System.out.println(...)`, Java неявно звертається до його `toString()`. Для маленького експерименту автор запускає окремий `main`, щоб не проходити весь UI-тест. При цьому test framework hooks, preconditions і postconditions не запускаються; якщо вони важливі для поведінки, перевірку потрібно залишити звичайним тестом.

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

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 · Основний курс · 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: рефакторинг тестів →
Запитати в чаті про «toString» →