← Усі курси

Доступ відкрито

Усі 72 уроків, конспекти, терміни та чат за матеріалами курсу.

35 відео

Програма курсу

35

Модуль 1

Модуль 1. Створення проєкту, перший тест, селектори

  1. 1
    1. Налаштування PyCharm, JetBrains Toolbox, створення проєкту та структура проектів

    Підготовка робочого середовища для Python-автоматизації: встановлення Python і PyCharm через інструменти керування пакетами, створення першого проєкту Testomat.io, перевірка інтерпретатора та запуск стартового скрипту.

    Дивитися →
  2. 2
    2. Перший автотест на Python з Playwright

    Створення першого UI-тесту на Python із `pytest` та Playwright: робота у віртуальному середовищі, встановлення залежностей і браузерів, написання перевірки для Testomat.io, аналіз падіння та перші способи пошуку елементів.

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

    Детальний розбір пошуку елементів у Playwright: DOM-дерево, CSS-селектори, XPath та accessibility-локатори, робота з динамічними атрибутами й дубльованою mobile/desktop-розміткою, а також підготовка Python-проєкту до коміту й публікації.

    Дивитися →
  4. 4
    4. Playwright плагіни та codegen

    Огляд інструментів, які записують браузерні дії та генерують Playwright-локатори або код: сторонні Chrome extensions, офіційний Playwright Codegen і Chrome DevTools Recorder. Головний висновок — генератори прискорюють старт, але їхній результат потрібно перевіряти й спрощувати вручну.

    Дивитися →

Модуль 2

Модуль 2. Python мануфактура. KISS, DRY, YAGNI, DAMP, Git, faker, dataclass, Python types

  1. 1
    1. Рефакторинг та оптимізація, KISS, DRY, DAMP, YAGNI

    На прикладі Playwright-тестів автор показує, як почати з простого робочого сценарію, а потім прибрати підтверджене дублювання, дати діям предметні назви й скоротити зайві UI-переходи. Головна теза: тест спершу має приносити цінність, а рефакторинг — робити його читабельнішим і швидшим, не створюючи структуру «про запас». Примітка: конспект укладено за автоматичними українськими субтитрами; назви API та технічні терміни нормалізовано за контекстом відео.

    Дивитися →
  2. 2
    2. Git Workflow у PyCharm/IntelliJ

    Відео проводить через повний Git workflow у PyCharm/IntelliJ: SSH-доступ до GitHub, окрема гілка під задачу, перевірений коміт, push, pull request і очищення завершених гілок. Основний акцент — не покладатися на пам’ять: перед кожним комітом і push переглядати точний diff, особливо на наявність паролів та інших секретів. Примітка: конспект укладено за автоматичними українськими субтитрами; назви команд і UI нормалізовано за контекстом відео.

    Дивитися →
  3. 3
    2.1. відео, енв файл

    Урок переносить URL, email і пароль з тестового коду в локальний `.env`, завантажує їх через `python-dotenv`, а потім централізує конфігурацію у session-scoped pytest fixture. Наприкінці показано amend останнього коміту; це корисно для локальної історії, але переписування вже опублікованої гілки потребує обережності. Примітка: конспект укладено за автоматичними українськими субтитрами; назви API та файлів нормалізовано за контекстом відео.

    Дивитися →
  4. 4
    3. Рефакторинг: Faker, DataClass, Fixtures

    Урок розвиває конфігурацію попереднього відео у трьох напрямках: генерує невалідні тестові дані через Faker, замінює нетипізований dictionary на immutable dataclass і виносить повторюваний логін у function-scoped pytest fixture. Рефакторинг виконується лише після появи конкретного дублювання або незручності. Примітка: конспект укладено за автоматичними українськими субтитрами; назви API та помилок нормалізовано за контекстом відео.

    Дивитися →
  5. 5
    4. Типізація даних (str, int, float, bool)

    Відео знайомить з типами `str`, `bool`, `int`, `float` і `list` через практичні задачі автоматизації: нормалізацію тексту, перевірку URL, перетворення цін і пагінації, сортування та область видимості. Type hints використовуються для читабельності й автодоповнення, але не замінюють runtime-перевірок. Примітка: конспект укладено за автоматичними українськими субтитрами; назви Python API нормалізовано за контекстом відео.

    Дивитися →

Додатковий модуль

Додатковий модуль. PyCharm

  1. 1
    Майструємо IDE під себе

    Налаштовуємо PyCharm під щоденну роботу з Python і Playwright: використовуємо безпечні рефакторинги, навігацію, власні скорочення, postfix templates, live templates і file templates. Мета — прибрати повторюваний ручний набір коду та отримати швидкий, передбачуваний процес, який не залежить від якості відповіді ШІ.

    Дивитися →

Модуль 4

Модуль 4. Конфігурація тестів, Pytest Fixtures, як працює Playwright / Selenium

  1. 1
    1. Налаштування Playwright та Pytest, простий репортінг

    Урок збирає базову конфігурацію UI-тестів навколо `pytest.ini` і pytest fixtures: визначає правила пошуку тестів, стандартні CLI-параметри, маркери, logging, HTML-звіт, Playwright traces та параметри браузера. Друга частина показує практичний debugging через Trace Viewer, `page.pause()` і PyCharm, а також пояснює, які артефакти варто зберігати після падіння тесту. Примітка: конспект укладено за автоматичними українськими субтитрами; назви API, CLI-параметрів і технічні терміни нормалізовано за контекстом відео.

    Дивитися →
  2. 2
    2. Pytest fixtures, playwright fixture, прараметризація тестів

    Урок поєднує дві теми: табличне покриття login form через `pytest.mark.parametrize` і керування життєвим циклом Playwright через fixtures різного scope. На практичному рефакторингу показано, як reuse браузера пришвидшує багато ітерацій, але водночас вимагає явного очищення cookies, local storage і сторінки, щоб один test case не забруднював наступний. Примітка: конспект укладено за автоматичними українськими субтитрами; назви API та технічні терміни нормалізовано за контекстом відео. Значна частина коду генерується LLM наживо, тому конспект відокремлює навчальні принципи від невдалих проміжних реалізацій.

    Дивитися →
  3. 3
    3. Selenium vs Playwright - яка різниця

    Відео порівнює Playwright і Selenium не за синтаксисом тестів, а за транспортом команд, очікуваннями, browser coverage та поведінкою в remote infrastructure. Рекомендація практична: Playwright дає швидший і більш цілісний workflow для сучасних Chromium/Firefox/WebKit продуктів; Selenium залишається потрібним, коли контракт вимагає ширшої cross-browser матриці або vendor-specific browser sessions. Примітка: конспект укладено за автоматичними українськими субтитрами; назви протоколів і API нормалізовано за контекстом відео. Архітектурні схеми подано як навчальну модель відео, а не як повну специфікацію внутрішньої реалізації кожного browser/version.

    Дивитися →

Модуль 5

Модуль 5. Комплексний рефакторинг, міграції проєктів, оптимізація тестів із Playwright

  1. 1
    1. Фіксаємо назви файлів, рефакторинг та оптимізація під Python, підключаємо Ruff та uv

    Урок показує комплексний рефакторинг навчального Playwright-проєкту: виправлення назв Python-файлів, аналіз структури й імпортів, підключення `Ruff`, міграцію з `pip`/`venv` на `uv` і створення `README`. Основний принцип — не переписувати legacy-проєкт одним великим кроком: починати з несправних або малих тестів, перевіряти кожну зміну й використовувати AI лише як прискорювач аналізу, а не як джерело істини. Примітка: конспект укладено за автоматичними українськими субтитрами; назви інструментів і Python API нормалізовано за контекстом відео.

    Дивитися →
  2. 2
    2. Storage state, cookie manipulation, дебаг зникаючих елементів

    Урок оптимізує Playwright-тести через повторне використання авторизованого `storage state`, розділяє перевантажений `conftest.py` на pytest plugins, показує безпечну маніпуляцію cookies для feature flags і два способи зупинити DOM у момент появи короткоживучого елемента. Примітка: конспект укладено за автоматичними українськими субтитрами; назви Playwright, pytest і DevTools API нормалізовано за контекстом відео.

    Дивитися →
  3. 3
    2.1. Storage state: практична реалізація, фікстури для ролей

    Додатковий урок перетворює `storage state` на практичну систему fixtures для різних ролей або тарифів. На прикладі Enterprise і Free проєктів показано, як дослідити фактичну ознаку активного проєкту, створити окремі states, передати їх у `BrowserContext`, забезпечити fallback для чистого запуску й не відкривати зайві сторінки. Примітка: конспект укладено за автоматичними українськими субтитрами; терміни Playwright, pytest, JSON і browser storage нормалізовано за контекстом відео.

    Дивитися →
  4. 4
    3. API preconditions

    Урок замінює довгу UI-підготовку API precondition: клієнт авторизується в Testomat.io Public API, отримує список проєктів, перетворює JSON на типізовані dataclasses і передає `project_id` у UI-тест. Після цього сценарій одразу відкриває потрібний проєкт і перевіряє створення test suite/test case, не створюючи проєкт через UI щоразу. Примітка: конспект укладено за автоматичними українськими субтитрами; назви API, JWT, OpenAPI, pytest і Playwright нормалізовано за контекстом відео.

    Дивитися →
  5. 5
    4. Повертаємо traces, pytest hooks, рефакторинг дублювань у fixtures

    Фінальний урок повертає Playwright tracing у кастомну систему fixtures. Спочатку trace записується для кожного тесту, потім через pytest hook визначається результат фази `call`, і ZIP зберігається лише для failed tests. Паралельно усувається дублювання створення browser contexts для звичайного й Free state та виправляється зайвий browser instance. Примітка: конспект укладено за автоматичними українськими субтитрами; назви Playwright tracing і pytest hook API нормалізовано за контекстом відео.

    Дивитися →

Модуль 6

Модуль 6. Selenium

  1. 1
    1. Selenium початок, основи, фікстури

    Урок переводить знайомий сценарій авторизації та пошуку проєкту з Playwright на Selenium: встановлення залежності, запуск Chrome через pytest fixture, робота з `find_element()`, CSS-селекторами й debugger. Головна практична тема — синхронізація: звичайний пошук та `is_displayed()` перевіряють стан лише в конкретний момент, тому динамічний UI потребує explicit waits через `WebDriverWait` і `expected_conditions`. Примітка: конспект укладено за автоматичними українськими субтитрами; назви Selenium API та технічні терміни нормалізовано за контекстом відео.

    Дивитися →
  2. 2
    2. Selenium організація PageObject's та Очікувань

    Урок перетворює сирий Selenium-сценарій на читабельні Page Objects: driver передається в `BasePage`, локатори зберігаються окремо від дій, а explicit waits ховаються у невеликі повторно використовувані helpers. Порівнюються три способи представлення елементів — locator tuple, CSS-рядок і lazy `WebElement` через `@property` — та пояснюється, як уникати stale references і конфлікту implicit/explicit waits. Примітка: конспект укладено за автоматичними українськими субтитрами; назви Selenium API, patterns і exceptions нормалізовано за контекстом відео.

    Дивитися →

Модуль 7

Модуль 7. API

  1. 1
    2. API автоматизація одразу правильно, MVC, pydantic

    Практична побудова API-тестів навколо Testomat.io: генерація `Pydantic`-моделей з `OpenAPI`, розділення запитів за resource controllers, спільний `BaseController`, авторизація через fixtures та валідація response schema. Головна мета — не просто перевіряти окремі поля `dict`, а отримувати типізований об’єкт і одразу виявляти розбіжності між очікуваним контрактом і реальною API-відповіддю. Примітка: конспект укладено за автоматичними українськими субтитрами; назви API, Python-бібліотек і методів нормалізовано за контекстом відео.

    Дивитися →

Модуль 8

Модуль 8. CI/CD: основи, перший пайплайн і репортинг

  1. 1
    1. Теорія CI/CD та як ви можете інтегрувати тести в пайплайн

    Вступ до CI/CD з погляду автоматизатора: з чого складається pipeline, де фізично виконуються jobs, як runners отримують доступ до тестового середовища та як передавати їм конфігурацію без публікації секретів. Головна практична теза — спочатку зробити тести корисними й стабільними локально, а потім інтегрувати їх у реальну інфраструктуру команди. Примітка: конспект укладено за автоматичними українськими субтитрами; назви CI/CD, GitHub і DevOps-інструментів нормалізовано за контекстом відео.

    Дивитися →
  2. 2
    2. Практика та написання пайплану CI/CD

    Практична побудова GitHub Actions workflow для Python/Playwright-проєкту: triggers, lint, smoke і regression jobs, підготовка runner, artifacts із reports/traces, діагностика відмінностей між локальним та CI-запуском і публікація HTML report через GitHub Pages. Примітка: конспект укладено за автоматичними українськими субтитрами; назви GitHub Actions, `uv`, pytest і Playwright API нормалізовано за контекстом відео.

    Дивитися →
  3. 3
    3. Фікс трейсів на СІ

    Коротке доповнення до практики: як завантажити Playwright traces із GitHub Actions, не зламати вкладені ZIP-файли під час розпакування на macOS, відкрити конкретний trace і за його даними локалізувати різницю між CI та локальним браузером. Примітка: конспект укладено за автоматичними українськими субтитрами; команди та назви Playwright інструментів нормалізовано за контекстом відео.

    Дивитися →
  4. 4
    4. Allure репорт, основи та інтеграція в CI

    Інтеграція Allure у pytest/Playwright-проєкт і GitHub Actions: компоненти екосистеми, збір result files, steps і attachments, генерація статичного report та публікація через GitHub Pages. Водночас підкреслено operational cost reporting-системи та показано невдалий експеримент із вбудованим переглядом Playwright traces. Примітка: конспект укладено за автоматичними українськими субтитрами; назви пакетів, команд і Allure API нормалізовано за контекстом відео.

    Дивитися →

Модуль 9

Модуль 9. Основи Python для автоматизатора

  1. 1
    0 вступ в заняття

    Вступ пояснює, як проходити короткий практичний довідник з Python: читати README теми, запускати базові приклади, звіряти output із кодом, а потім самостійно змінювати розширені приклади. Мета — навчитися розуміти власний, згенерований ШІ та розробницький код, а не просто копіювати готові фрагменти. Примітка: конспект укладено за автоматичними оригінальними українськими субтитрами та звірено з репозиторієм `python-automation-basics`.

    Дивитися →
  2. 2
    1 типи даних

    Огляд основних Python types через типові automation-дані: назви тестів, status codes, durations, flags, browser lists, API responses, tuples і sets. Головна практична теза — значення з UI, CSV або environment variables часто приходять як `str`, тому тип треба розуміти й за потреби явно перетворювати. Примітка: конспект укладено за автоматичними оригінальними українськими субтитрами та звірено з кодом уроку.

    Дивитися →
  3. 3
    2 оператори

    Урок розбирає comparison, identity, boolean, membership та arithmetic operators на прикладах assertions, HTTP responses, browser allowlists і розрахунку expected values. Акцент — використовувати вбудовані оператори прямо й читабельно, а не відтворювати їх циклами або складною допоміжною логікою. Примітка: конспект укладено за автоматичними оригінальними українськими субтитрами та звірено з кодом уроку.

    Дивитися →
  4. 4
    3 умови

    Умови показано як механізм прийняття рішень у тестовому коді: класифікувати HTTP status, обробити optional error, перевірити порожню колекцію або підтримуваний browser. Основні ризики — неправильні межі діапазонів, неініціалізована змінна та порядок `if/elif` гілок. Примітка: конспект укладено за автоматичними оригінальними українськими субтитрами та звірено з кодом уроку.

    Дивитися →
  5. 5
    4 цикли

    Цикли застосовуються до колекцій UI elements, users, headers і retry attempts. Урок порівнює `for`, `enumerate`, обхід dictionary та `while`, звертаючи увагу на порядок list/set і обов’язкову умову завершення retry loop. Примітка: конспект укладено за автоматичними оригінальними українськими субтитрами та звірено з кодом уроку.

    Дивитися →
  6. 6
    5 comprehensions

    Comprehensions стисло створюють нові list, dict або set з наявних даних. Відео показує три automation-задачі: відфільтрувати failed status codes, побудувати lookup users by ID і нормалізувати emails. Однорядковість не є самоціллю: складну логіку краще залишити звичайним циклом або винести у функцію. Примітка: конспект укладено за автоматичними оригінальними українськими субтитрами та звірено з кодом уроку.

    Дивитися →
  7. 7
    6 функції

    Функції дають ім’я повторюваній операції та повертають результат через `return`. На прикладах payload, users, locators і headers урок показує parameters, type hints, default arguments, `*args`, `**kwargs` та scope вкладених функцій. Примітка: конспект укладено за автоматичними оригінальними українськими субтитрами та звірено з кодом уроку.

    Дивитися →
  8. 8
    7 робота з файлами

    Робота з файлами потрібна для test data, проміжних результатів і diagnostic artifacts. Урок показує `TemporaryDirectory`, `Path`, запис/читання text і JSON, UTF-8 encoding та різницю між relative й absolute paths. Примітка: конспект укладено за автоматичними оригінальними українськими субтитрами та звірено з кодом уроку.

    Дивитися →
  9. 9
    8 ексепшени

    Exceptions сигналізують про невдале виконання операції. В автоматизації їх треба не приховувати, а перетворювати на зрозумілий failure із збереженою першопричиною та гарантованим cleanup ресурсів. Примітка: конспект укладено за автоматичними оригінальними українськими субтитрами та звірено з кодом уроку.

    Дивитися →
  10. 10
    10 ооп

    ООП пояснено через реальні automation objects: `User`, API client і Page Object. Клас має сенс, коли треба тримати state разом із behavior та приховати технічні деталі за зрозумілими methods; для stateless single action звичайна функція часто простіша. Примітка: конспект укладено за автоматичними оригінальними українськими субтитрами та звірено з кодом уроку.

    Дивитися →

37 відео

Сесії: AMA та PMP

37

Сесія

ПМП 31.03 (архів)

  1. 1
    Репозиторій як довідник до модулів

    Коротке пояснення, як користуватися навчальним репозиторієм із гілками для окремих модулів і чому готовий код варто сприймати як орієнтир, а не заміну власним експериментам, запускам і виправленню помилок. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; технічні терміни нормалізовано за контекстом відео.

    Дивитися →
  2. 2
    Як Playwright взаємодіє з браузером через протокол

    Дослідження внутрішнього шляху Playwright: від `Locator` і публічного API через channel/transport до browser process, actionability checks, введення тексту, assertions та ієрархії `Playwright → Browser → BrowserContext → Page`. Практична мета — не завчити внутрішні класи, а вміти пояснити, де виконується дія, чому Playwright очікує елемент і як обрати правильний API для реальної поведінки сторінки. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; технічні терміни нормалізовано за контекстом відео. Демонстрація є живим дослідженням source code: автор кілька разів перевіряє та виправляє власні припущення. Технічне уточнення до відео: сирий [`CDPSession`](https://playwright.dev/docs/api/class-cdpsession) у Playwright підтримується лише для Chromium-based browsers; твердження «усе працює через CDP» не слід переносити на Firefox і WebKit. Актуальна документація також радить використовувати [`fill()`](https://playwright.dev/docs/next/input#text-input) у більшості полів, а `pressSequentially()` — коли сторінці справді потрібні окремі keyboard events.

    Дивитися →
  3. 3
    Як працювати на спокійному проєкті та з нав’язаними оцінками

    Q&A про ознаки здорової робочої культури, overtime, стабільну продуктивність, вплив AI-інструментів і ситуацію, коли команда має виконувати задачі за оцінками, яких сама не давала. Центральна практична теза: не маскувати системну проблему постійними понаднормовими годинами, а робити розбіжність між scope, оцінкою й реальною швидкістю видимою та спільно ескалювати її. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; технічні терміни нормалізовано за контекстом відео. У фрагменті про приховане використання ШІ та видимість проблеми з оцінками автор висловлює суперечливі поради. Конспект передає тему, але не рекомендує порушувати company policy, обходити monitoring, надсилати confidential code стороннім сервісам або навмисно погіршувати якість продукту.

    Дивитися →

Сесія

ПМП 11.05 (архів)

  1. 1
    Прихована складність бекенд-тестування

    Навіть простий користувацький сценарій на кшталт запрошення до спільноти або перегляду товару може приховувати ланцюг сервісів, платних інтеграцій, правил авторизації, кешів і регуляторних вимог. Тому backend testing починається не з одного endpoint, а з розуміння повного потоку даних і меж відповідальності систем.

    Дивитися →
  2. 2
    Як налаштувати мультиагентне середовище

    Мультиагентне середовище — це не набір красивих назв ролей, а система інструкцій, контексту, дозволів, артефактів і quality gates для кількох CLI-агентів. Воно допомагає швидко будувати й перевіряти продукт, але не скасовує планування, тестування, рев'ю коду та глибоку інженерну експертизу.

    Дивитися →

Сесія

ПМП 02.07 (архів)

  1. 1
    Практика курсу на YOY, домашні завдання та формат ПМП

    Практичний вступ до проходження курсу: як щотижня розширювати automation suite на реальному YOY-flow, поступово переходити від простих UI-кроків до Page Objects, API preconditions і CI, публікувати домашні завдання через GitHub та використовувати ПМП-сесії для технічних запитань. Наприкінці на живому прикладі розбираються soft delete, GDPR-анонімізація, повторне використання slug і незалежні test data. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; технічні терміни нормалізовано за контекстом відео.

    Дивитися →
  2. 2
    Vibe coding, склад команди та нова роль тестувальника

    Розмова про те, як AI-assisted development змінює швидкість delivery, але не дає універсальної формули team composition. Один досвідчений інженер може швидко закрити frontend, backend, design-system і deployment work, однак масштаб, integration contracts і cognitive load збільшують ризик прихованих дефектів. Тому QA переходить від «фінальної перевірки» до system-level review, testability, Shift Left, automation та доказового feedback про quality trends. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; оцінки ринку й економіки передано як позицію автора, а технічні терміни нормалізовано за контекстом.

    Дивитися →

Сесія

AMA-сесія 10.12.2025

  1. 1
    Як проходити курс та його логіка

    Короткий онбординг до курсу: замість довгого теоретичного вступу учасники відразу пишуть реальні UI-автотести, стикаються з контрольованими проблемами й лише після практики розбирають синтаксис, ООП, патерни та API-рівень. Відео завершується переходом до питання, чому навчання починається не з API-тестів.

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

    Пояснення сучасного розподілу тестів і навчальної логіки курсу. Учасники починають з наочного UI-рівня, потім рефакторять тести й переходять до API. Окрема частина присвячена тому, як змінюється тестування, коли розробники генерують код і тести за допомогою Codex, Claude Code, Cursor та інших AI-інструментів.

    Дивитися →
  3. 3
    Як упровадити автоматизацію мануальному QA та довести її ефективність

    Практична модель впровадження тестової автоматизації з нуля: як обрати перші сценарії, порахувати економію часу, пояснити користь менеджменту й перетворити початкові UI-тести на підтримуване покриття. Основна метрика — не кількість написаних тестів, а кількість корисних запусків і різниця між вартістю ручного та автоматизованого прогону.

    Дивитися →
  4. 4
    Як працює проєктний білдер, ізоляція залежностей і впровадження нових інструментів

    Відповіді на питання про ізоляцію Python-проєктів, залежності, `requirements.txt`, перехід із pip на uv та поступове впровадження Playwright поруч із Selenium. Друга половина відео пояснює, коли початківцю корисніше видалити невдалий локальний проєкт і повторити налаштування, а також чому стабільність тестів і зрозумілий фідбек важливіші за складний репортинг.

    Дивитися →

Сесія

AMA-сесія 17.12.2025

  1. 1
    Гітігнор та як працювати з гітом та не помилитись

    Відео пояснює роль `.gitignore`, візуальні підказки IDE та безпечний щоденний Git workflow. Головна практика — одразу визначити локальні й згенеровані файли, а перед кожним commit вручну перевіряти staged diff, щоб не опублікувати результати тестів, секрети або випадкові зміни. Наприкінці розглядається локальна й глобальна Git-ідентичність для кількох робочих і персональних акаунтів. Примітка: конспект укладено за автоматичними українськими субтитрами; назви команд та інструментів нормалізовано за контекстом. Важливе уточнення: правила ігнорування виконує сам Git через `.gitignore`; IDE-плагін лише допомагає створювати правила та візуалізує їх.

    Дивитися →
  2. 2
    Юзер менеджмент та костилі з якими ви стикнетесь в житті

    Відео починається з еволюції конфігурації тестового проєкту — від environment variables і локального `.env` до структурованих config-файлів, CI secrets та централізованого config server. Друга частина розбирає testability користувачів: чому спільний статичний акаунт блокує паралельність, як перейти до керованого створення тестових користувачів і які шви потрібні для SSO, OTP, зовнішніх провайдерів, банківських процесів і state machines. Примітка: конспект укладено за автоматичними українськими субтитрами; технічні терміни нормалізовано. Будь-який test-only обхід авторизації має бути технічно недоступний у production, а не захищений лише домовленістю команди.

    Дивитися →
  3. 3
    Що має вміти та знати мідл автоматизатор

    Відео формує практичну карту компетенцій middle automation engineer: мова програмування, UI та API automation, test runner і lifecycle, незалежність тестів, test design, локатори, патерни, flaky tests, CI й уміння пояснити стратегію покриття. Рівень визначається не кількістю завчених термінів, а здатністю самостійно вибрати test seam, підтримати наявний framework і аргументувати ризики. Примітка: конспект укладено за автоматичними українськими субтитрами; назви мов, бібліотек і патернів нормалізовано за контекстом.

    Дивитися →
  4. 4
    Автомтизація баз даних та що з тим робити та що знати

    Відео розмежовує дві задачі: тестувати саму database technology і використовувати базу як швидкий test-support seam для setup, lookup або діагностики. Для більшості продуктових команд не потрібно повторно перевіряти можливості PostgreSQL чи ORM; потрібно довести власні mappings, constraints, migrations і бізнес-перетворення через найнижчий надійний контракт. Прямий DB access може прискорити suite, але сильніше зв'язує тести зі схемою та обходить product behavior. Примітка: конспект укладено за автоматичними українськими субтитрами; `JDBC`, Python DB-API, `DAO`, `ORM`, `Kafka` та інші терміни нормалізовано. Теза про невелику роль unit tests у відео є контекстною, а не універсальною: чисту domain logic варто перевіряти швидкими unit tests незалежно від framework.

    Дивитися →

Сесія

ПМП-сесія 07.01.26

  1. 1
    Як manual QA перейти в automation

    Поради manual QA, який хоче перейти в automation без безумовного повернення на junior-рівень. Головна теза: автоматизація не замінює тестування, а розширює інженерні можливості; доменні знання, test design і розуміння продукту залишаються цінними. Найкращий перший майданчик — поточний проєкт, де вже відомі ризики, люди й система. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; технічні терміни нормалізовано за контекстом відео.

    Дивитися →
  2. 2
    Неймінг та структура automation-проєкту

    Практична система неймінгу й організації automation-коду: називати Page Objects і компоненти мовою самого продукту, відокремлювати дії від навігації, повторювати REST/GraphQL contracts замість винаходити власні терміни та ускладнювати структуру репозиторію лише після появи реальної межі. Наприкінці розглянуто статичний аналіз, мовні naming conventions і обмежену користь Playwright agents. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; назви API, патернів та інструментів нормалізовано за контекстом відео.

    Дивитися →
  3. 3
    Перехід із менеджменту в технічну роль і sabbatical

    Коротка відповідь на два пов’язані питання: чи брати sabbatical після виснаження і чи нормально повернутися з менеджменту в технічну роль. Пріоритетом названо здоров’я та задоволення від життя; зміна ролі не є провалом, а досвід у кількох функціях може зробити людину сильнішим інженером, менеджером або консультантом. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; технічні терміни нормалізовано за контекстом відео.

    Дивитися →

Сесія

AMA-сесія 14.01.2026

  1. 1
    На сторінці може бути різний контент — що робити?

    Відео пояснює, як тестувати сторінку, вміст якої залежить від ролі, тарифу або активної компанії. Замість умовного сценарію, що намагається прийняти будь-який стан, варто підготувати передбачуваний `storageState` для конкретної ролі й мати окремий тест із чітким очікуваним результатом. Примітка: конспект укладено за автоматичними українськими субтитрами; назви Playwright API та технічні терміни нормалізовано за контекстом відео.

    Дивитися →
  2. 2
    Навіщо встановлювати Playwright-браузери, як часто та чому треба оновлювати бібліотеки

    Відео відповідає на три пов’язані питання: чому встановлення Python-пакета Playwright не встановлює браузерні binaries, як великі компанії контролюють сторонні залежності та чому бібліотеки краще оновлювати регулярно невеликими кроками. Окремо розглянуто security updates і ризик великих стрибків через багато версій. Примітка: конспект укладено за автоматичними українськими субтитрами; назви команд, інструментів і технічні терміни нормалізовано за контекстом відео.

    Дивитися →
  3. 3
    __init__, self, page та принципи ООП

    Відео пояснює базові елементи Python ООП на прикладах Page Object і компонентів: навіщо методам потрібен `self`, яку залежність передають через `__init__`, що зберігає Playwright `page`, яку роль має `__init__.py` та як у Python позначають non-public API. Завершується розбором інкапсуляції як керованого публічного інтерфейсу, а не просто «приховування коду». Примітка: конспект укладено за автоматичними українськими субтитрами; технічні терміни нормалізовано, а пояснення `__init__`, package і name mangling уточнено відповідно до поведінки Python.

    Дивитися →
  4. 4
    Що має описувати isLoaded

    Відео визначає контракт `isLoaded`: метод має чекати не формального відкриття URL, а мінімального стану, в якому користувач і тест можуть надійно продовжувати роботу. До цього стану входять ключовий контент, зникнення blocking loader і готовність критичних інтерактивних елементів. Примітка: конспект укладено за автоматичними українськими субтитрами; назви UI-станів і тестових термінів нормалізовано за контекстом відео.

    Дивитися →

Сесія

ПМП-сесія 04.02.26

  1. 1
    Вчитися через власні помилки чи з ментором

    Роздуми про баланс між швидким навчанням із ментором і самостійним пошуком через помилки. Ментор скорочує шлях до робочого рішення, але глибоке розуміння часто виникає тоді, коли інженер сам стикається з невдалим підходом, знаходить root cause і вчиться пояснювати рішення іншим. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; технічні терміни нормалізовано за контекстом відео.

    Дивитися →
  2. 2
    Міграція бази даних і тестування даних

    Сесія про перевірку API після створення сутності та про ризики міграції даних: розподіл coverage між resource tests і business-flow tests, перевірку DTO/schema, втрату полів під час mapping, перенесення логіки з моноліту в мікросервіси та помилки routing через API gateway. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; назви архітектурних компонентів та інструментів нормалізовано за контекстом відео.

    Дивитися →

Сесія

ПМП-сесія 18.03.26

  1. 1
    Індивідуальний супровід і технічне партнерство

    Формати індивідуальної роботи після базового занурення в курс: коли починати, з якою періодичністю зустрічатися і які робочі чи карʼєрні питання розбирати. Примітка: конспект укладено за автоматичними українськими субтитрами; технічні терміни нормалізовано за контекстом відео.

    Дивитися →
  2. 2
    Інфраструктура автотестів та її нюанси

    Як CI runners отримують доступ до тестових середовищ, чому компанії переходять на self-hosted runners і які ресурси та мережеві правила потрібні UI-автотестам. Примітка: конспект укладено за автоматичними українськими субтитрами; технічні терміни нормалізовано за контекстом відео.

    Дивитися →
  3. 3
    ПМП-сесії та як проходити курс

    Формат проходження курсу побудовано навколо практики, контрольованих помилок, поступового рефакторингу та регулярних ПМП-сесій із питаннями з будь-якого модуля. Примітка: конспект укладено за автоматичними українськими субтитрами; технічні терміни нормалізовано за контекстом відео.

    Дивитися →
  4. 4
    Пріоритети селекторів та їхня надійність

    Практичний вибір Playwright locators: accessibility-first пошук, контроль локалізації та A/B experiments, підтримка `data-testid`, читабельний CSS як fallback і відмова від крихких XPath та індексів. Примітка: конспект укладено за автоматичними українськими субтитрами; технічні терміни нормалізовано за контекстом відео.

    Дивитися →
  5. 5
    Тестові дані для автотестів

    Як генерувати варіативні test data, передавати типізовану сутність через увесь сценарій і перевіряти цілісність її відображення на кожному API/UI кроці. Примітка: конспект укладено за автоматичними українськими субтитрами; технічні терміни нормалізовано за контекстом відео.

    Дивитися →
  6. 6
    Playwright MCP, CLI, Codegen та AI в розробці

    Де AI-інструменти справді допомагають автоматизації: браузерний контекст через MCP, контрольований старт із Codegen, відтворювані scripts замість імпровізованих CLI-команд і ручна інженерна перевірка складних flows. Примітка: конспект укладено за автоматичними українськими субтитрами; згадки про моделі та ціни відображають думку автора на момент запису й можуть швидко застарівати.

    Дивитися →
  7. 7
    Методики проведення співбесід

    Інтервʼю через моделювання реальних проблем замість опитування за списком теорії, а також звʼязок між вимогами вакансії, якістю onboarding і очікуваним рівнем кандидата. Примітка: конспект укладено за автоматичними українськими субтитрами; технічні терміни нормалізовано за контекстом відео.

    Дивитися →
  8. 8
    Антибот-захист у контрольованих автотестах

    Антибот-захист не слід «зламувати» браузерними трюками: для контрольованих автотестів команда має спроєктувати обмежений test-mode контракт для CAPTCHA, OTP і rate limits. Примітка: конспект укладено за автоматичними українськими субтитрами; security-застереження сформульовано явно, бо bypass-механізми є частиною trust boundary.

    Дивитися →

Сесія

ПМП-сесія 23.03.26

  1. 1
    Типи мобільних застосунків та мобільна автоматизація

    Огляд native, hybrid і cross-platform мобільних застосунків та практичної стратегії їх тестування. Головна теза: універсальний Appium/WebdriverIO-стек не завжди дає найкращий результат; вибір інструментів має залежати від архітектури застосунку, platform-specific UI, testability і потрібної швидкості feedback. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; назви технологій і технічні терміни нормалізовано за контекстом відео.

    Дивитися →
  2. 2
    Корисні застосунки та їхнє призначення

    Демонстрація власних macOS-інструментів автора: Diduny для диктування, запису й транскрибування зустрічей; Papuga для виправлення тексту, набраного не тією розкладкою; Browser Kitty для вибору правильного браузера або профілю; а також експериментального AI sidebar для роботи з виділеним текстом та HTML. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами. Можливості й умови доступу описують стан застосунків на момент запису відео, а не гарантований поточний стан.

    Дивитися →
  3. 3
    Перехід у пентестинг: що важливо

    Орієнтир для переходу з QA automation у security testing і pentesting: практичне навчання, професійні сертифікації, SAST/DAST, CVE, dependency patching, scripting та розуміння інфраструктури. Автоматизація подається не як зайвий попередній досвід, а як одна з базових навичок security engineer. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами. Назву конкретної рекомендованої сертифікації в captions розпізнано нечітко, тому її не відтворено як підтверджений факт.

    Дивитися →
  4. 4
    Який рівень програмування потрібен automation engineer

    Відповідь на питання, наскільки глибоко automation engineer має знати програмування. На старті достатньо автоматизувати власну рутину й упевнено володіти базовими конструкціями; зі зростанням seniority потрібні type systems, concurrency, memory, architecture, test levels і здатність обрати стек під конкретну задачу. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; назви мов, frameworks і engineering concepts нормалізовано за контекстом відео.

    Дивитися →
  5. 5
    Чому критикують BDD і Cucumber

    Критика не BDD як способу спільно уточнювати поведінку, а механічного використання Cucumber/Gherkin лише всередині automation suite. Якщо business, product, developers і testers не працюють зі scenarios разом, Gherkin стає додатковим шаром коду, який підтримує тільки автоматизатор. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; терміни BDD, Cucumber, Gherkin, TDD і DDD нормалізовано за контекстом відео.

    Дивитися →