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

Python мануфактура · Сесії: AMA та PMP · 0:00–3:00

MCP дає контекст, але не детермінізм

Playwright MCP дозволяє моделі бачити й керувати сторінкою, але код генерує сама LLM. Однаковий prompt може дати різні структури, locators і helpers, тому інструкції не гарантують підтримуваний результат. Модель також не здогадається дослідити network, data lifecycle або project architecture, якщо це явно не поставлено завданням і не надано відповідний контекст.

Playwright MCP, CLI, Codegen та AI в розробці →

Python мануфактура · Програма курсу · 6:31–7:59

Composition замість глибокого inheritance

Наслідування корисне для невеликої справді спільної поведінки, наприклад `open()` або `is_loaded()` у base page. Для сторінки, що складається з кількох незалежних components, composition простіша: page тримає потрібні objects і делегує їм роботу. Це уникає multiple inheritance та великих base classes, зміна яких ламає багато несуміжних сторінок.

10 ооп →

Python мануфактура · Сесії: AMA та PMP · 10:30–12:22

Типізовані дані як наскрізний контракт

Між functions передають типізовані `UserDto`, `ProductDetails`, `CompanyDetails` або інші domain types замість розрізнених primitive values. Це робить required fields видимими, спрощує повторні assertions і зменшує ризик переплутати дані. Конкретні приклади реалізації розгортаються далі в курсі.

Тестові дані для автотестів →

Python мануфактура · Програма курсу · 12:20–16:15

Пріоритети локаторів і читабельність

Поле Search Project можна знайти за `id` або `placeholder`. `placeholder` є зрозумілим, але може змінюватися через локалізацію. Класи зазвичай менш стабільні за спеціальний тестовий атрибут. XPath має широкі можливості навігації вгору й вниз по DOM, але часто читається гірше за короткий CSS-локатор. Результати тестів мають швидко розуміти розробники, тому читабельність і спільна командна домовленість важливіші за демонстрацію максимально складного виразу.

3. Селектори та пошук елементів →

Python мануфактура · Сесії: AMA та PMP · 12:41–14:19

ШІ не скасовує тестування

Твердження «код генерується з тестами, тому тестування потрібно менше» не витримує практичної перевірки. Більший обсяг змін збільшує простір можливих помилок, а зростання кодової бази поступово ускладнює кожну наступну фічу. Рекомендована позиція QA: приймати AI-інструменти й самим використовувати їх, але зберігати поділ відповідальності. Розробники забезпечують комбінаторне покриття ближче до коду, QA перевіряє інтегровану систему, інфраструктуру та користувацькі ризики. Автор окремо фіксує потребу знайти дослідження про довгостроковий вплив ШІ на швидкість розробки. Отже, тезу про повернення продуктивності до плато слід сприймати як практичне спостереження, яке потребує підтвердження даними, а не як уже наведений у відео доказ.

Піраміда тестування, чому не API спочатку та як жити з упровадженням ШІ →

Java API-автоматизація · 15:00–35:00

Native чи cross-platform: ціна абстракції

Cross-platform stack пришвидшує MVP та shared feature delivery, але platform-specific capabilities і UI differences нікуди не зникають. Зі зростанням product команди часто все одно ділять iOS/Android ownership. Для тестів це означає: shared business scenarios не гарантують identical platform behavior. Потрібно розділити shared domain behavior і platform-specific contracts, а не будувати великий conditional E2E suite.

Стратегія тестування мультиплатформних систем →

Python мануфактура · Сесії: AMA та PMP · 16:30–21:30

Читабельний CSS як практичний fallback

Якщо стабільного test ID або accessible name немає, припустимий короткий CSS selector через зрозумілий parent і тип дочірнього елемента. Locator повинен читатися; складний вираз варто сховати за змінною з предметною назвою. Не слід використовувати generated hashes, випадкові class names, positional indexes або повні DOM paths. Якщо ID має стабільний префікс і випадковий suffix, можна шукати за контрольованим частковим збігом.

Пріоритети селекторів та їхня надійність →
Запитати в чаті про «maintainability» →