Курс
Python мануфактура
Доступ відкрито
Усі 72 уроків, конспекти, терміни та чат за матеріалами курсу.
35 відео
Програма курсу
Модуль 1. Створення проєкту, перший тест, селектори
- 11. Налаштування PyCharm, JetBrains Toolbox, створення проєкту та структура проектівДивитися →
Підготовка робочого середовища для Python-автоматизації: встановлення Python і PyCharm через інструменти керування пакетами, створення першого проєкту Testomat.io, перевірка інтерпретатора та запуск стартового скрипту.
- 22. Перший автотест на Python з PlaywrightДивитися →
Створення першого UI-тесту на Python із `pytest` та Playwright: робота у віртуальному середовищі, встановлення залежностей і браузерів, написання перевірки для Testomat.io, аналіз падіння та перші способи пошуку елементів.
- 33. Селектори та пошук елементівДивитися →
Детальний розбір пошуку елементів у Playwright: DOM-дерево, CSS-селектори, XPath та accessibility-локатори, робота з динамічними атрибутами й дубльованою mobile/desktop-розміткою, а також підготовка Python-проєкту до коміту й публікації.
- 44. Playwright плагіни та codegenДивитися →
Огляд інструментів, які записують браузерні дії та генерують Playwright-локатори або код: сторонні Chrome extensions, офіційний Playwright Codegen і Chrome DevTools Recorder. Головний висновок — генератори прискорюють старт, але їхній результат потрібно перевіряти й спрощувати вручну.
Модуль 2. Python мануфактура. KISS, DRY, YAGNI, DAMP, Git, faker, dataclass, Python types
- 11. Рефакторинг та оптимізація, KISS, DRY, DAMP, YAGNIДивитися →
На прикладі Playwright-тестів автор показує, як почати з простого робочого сценарію, а потім прибрати підтверджене дублювання, дати діям предметні назви й скоротити зайві UI-переходи. Головна теза: тест спершу має приносити цінність, а рефакторинг — робити його читабельнішим і швидшим, не створюючи структуру «про запас». Примітка: конспект укладено за автоматичними українськими субтитрами; назви API та технічні терміни нормалізовано за контекстом відео.
- 22. Git Workflow у PyCharm/IntelliJДивитися →
Відео проводить через повний Git workflow у PyCharm/IntelliJ: SSH-доступ до GitHub, окрема гілка під задачу, перевірений коміт, push, pull request і очищення завершених гілок. Основний акцент — не покладатися на пам’ять: перед кожним комітом і push переглядати точний diff, особливо на наявність паролів та інших секретів. Примітка: конспект укладено за автоматичними українськими субтитрами; назви команд і UI нормалізовано за контекстом відео.
- 32.1. відео, енв файлДивитися →
Урок переносить URL, email і пароль з тестового коду в локальний `.env`, завантажує їх через `python-dotenv`, а потім централізує конфігурацію у session-scoped pytest fixture. Наприкінці показано amend останнього коміту; це корисно для локальної історії, але переписування вже опублікованої гілки потребує обережності. Примітка: конспект укладено за автоматичними українськими субтитрами; назви API та файлів нормалізовано за контекстом відео.
- 43. Рефакторинг: Faker, DataClass, FixturesДивитися →
Урок розвиває конфігурацію попереднього відео у трьох напрямках: генерує невалідні тестові дані через Faker, замінює нетипізований dictionary на immutable dataclass і виносить повторюваний логін у function-scoped pytest fixture. Рефакторинг виконується лише після появи конкретного дублювання або незручності. Примітка: конспект укладено за автоматичними українськими субтитрами; назви API та помилок нормалізовано за контекстом відео.
- 54. Типізація даних (str, int, float, bool)Дивитися →
Відео знайомить з типами `str`, `bool`, `int`, `float` і `list` через практичні задачі автоматизації: нормалізацію тексту, перевірку URL, перетворення цін і пагінації, сортування та область видимості. Type hints використовуються для читабельності й автодоповнення, але не замінюють runtime-перевірок. Примітка: конспект укладено за автоматичними українськими субтитрами; назви Python API нормалізовано за контекстом відео.
Додатковий модуль. PyCharm
Модуль 4. Конфігурація тестів, Pytest Fixtures, як працює Playwright / Selenium
- 11. Налаштування Playwright та Pytest, простий репортінгДивитися →
Урок збирає базову конфігурацію UI-тестів навколо `pytest.ini` і pytest fixtures: визначає правила пошуку тестів, стандартні CLI-параметри, маркери, logging, HTML-звіт, Playwright traces та параметри браузера. Друга частина показує практичний debugging через Trace Viewer, `page.pause()` і PyCharm, а також пояснює, які артефакти варто зберігати після падіння тесту. Примітка: конспект укладено за автоматичними українськими субтитрами; назви API, CLI-параметрів і технічні терміни нормалізовано за контекстом відео.
- 22. Pytest fixtures, playwright fixture, прараметризація тестівДивитися →
Урок поєднує дві теми: табличне покриття login form через `pytest.mark.parametrize` і керування життєвим циклом Playwright через fixtures різного scope. На практичному рефакторингу показано, як reuse браузера пришвидшує багато ітерацій, але водночас вимагає явного очищення cookies, local storage і сторінки, щоб один test case не забруднював наступний. Примітка: конспект укладено за автоматичними українськими субтитрами; назви API та технічні терміни нормалізовано за контекстом відео. Значна частина коду генерується LLM наживо, тому конспект відокремлює навчальні принципи від невдалих проміжних реалізацій.
- 33. 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. Комплексний рефакторинг, міграції проєктів, оптимізація тестів із Playwright
- 11. Фіксаємо назви файлів, рефакторинг та оптимізація під Python, підключаємо Ruff та uvДивитися →
Урок показує комплексний рефакторинг навчального Playwright-проєкту: виправлення назв Python-файлів, аналіз структури й імпортів, підключення `Ruff`, міграцію з `pip`/`venv` на `uv` і створення `README`. Основний принцип — не переписувати legacy-проєкт одним великим кроком: починати з несправних або малих тестів, перевіряти кожну зміну й використовувати AI лише як прискорювач аналізу, а не як джерело істини. Примітка: конспект укладено за автоматичними українськими субтитрами; назви інструментів і Python API нормалізовано за контекстом відео.
- 22. Storage state, cookie manipulation, дебаг зникаючих елементівДивитися →
Урок оптимізує Playwright-тести через повторне використання авторизованого `storage state`, розділяє перевантажений `conftest.py` на pytest plugins, показує безпечну маніпуляцію cookies для feature flags і два способи зупинити DOM у момент появи короткоживучого елемента. Примітка: конспект укладено за автоматичними українськими субтитрами; назви Playwright, pytest і DevTools API нормалізовано за контекстом відео.
- 32.1. Storage state: практична реалізація, фікстури для ролейДивитися →
Додатковий урок перетворює `storage state` на практичну систему fixtures для різних ролей або тарифів. На прикладі Enterprise і Free проєктів показано, як дослідити фактичну ознаку активного проєкту, створити окремі states, передати їх у `BrowserContext`, забезпечити fallback для чистого запуску й не відкривати зайві сторінки. Примітка: конспект укладено за автоматичними українськими субтитрами; терміни Playwright, pytest, JSON і browser storage нормалізовано за контекстом відео.
- 43. API preconditionsДивитися →
Урок замінює довгу UI-підготовку API precondition: клієнт авторизується в Testomat.io Public API, отримує список проєктів, перетворює JSON на типізовані dataclasses і передає `project_id` у UI-тест. Після цього сценарій одразу відкриває потрібний проєкт і перевіряє створення test suite/test case, не створюючи проєкт через UI щоразу. Примітка: конспект укладено за автоматичними українськими субтитрами; назви API, JWT, OpenAPI, pytest і Playwright нормалізовано за контекстом відео.
- 54. Повертаємо 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. Selenium
- 11. Selenium початок, основи, фікстуриДивитися →
Урок переводить знайомий сценарій авторизації та пошуку проєкту з Playwright на Selenium: встановлення залежності, запуск Chrome через pytest fixture, робота з `find_element()`, CSS-селекторами й debugger. Головна практична тема — синхронізація: звичайний пошук та `is_displayed()` перевіряють стан лише в конкретний момент, тому динамічний UI потребує explicit waits через `WebDriverWait` і `expected_conditions`. Примітка: конспект укладено за автоматичними українськими субтитрами; назви Selenium API та технічні терміни нормалізовано за контекстом відео.
- 22. 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. API
Модуль 8. CI/CD: основи, перший пайплайн і репортинг
- 11. Теорія CI/CD та як ви можете інтегрувати тести в пайплайнДивитися →
Вступ до CI/CD з погляду автоматизатора: з чого складається pipeline, де фізично виконуються jobs, як runners отримують доступ до тестового середовища та як передавати їм конфігурацію без публікації секретів. Головна практична теза — спочатку зробити тести корисними й стабільними локально, а потім інтегрувати їх у реальну інфраструктуру команди. Примітка: конспект укладено за автоматичними українськими субтитрами; назви CI/CD, GitHub і DevOps-інструментів нормалізовано за контекстом відео.
- 22. Практика та написання пайплану 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 нормалізовано за контекстом відео.
- 33. Фікс трейсів на СІДивитися →
Коротке доповнення до практики: як завантажити Playwright traces із GitHub Actions, не зламати вкладені ZIP-файли під час розпакування на macOS, відкрити конкретний trace і за його даними локалізувати різницю між CI та локальним браузером. Примітка: конспект укладено за автоматичними українськими субтитрами; команди та назви Playwright інструментів нормалізовано за контекстом відео.
- 44. Allure репорт, основи та інтеграція в CIДивитися →
Інтеграція Allure у pytest/Playwright-проєкт і GitHub Actions: компоненти екосистеми, збір result files, steps і attachments, генерація статичного report та публікація через GitHub Pages. Водночас підкреслено operational cost reporting-системи та показано невдалий експеримент із вбудованим переглядом Playwright traces. Примітка: конспект укладено за автоматичними українськими субтитрами; назви пакетів, команд і Allure API нормалізовано за контекстом відео.
Модуль 9. Основи Python для автоматизатора
- 10 вступ в заняттяДивитися →
Вступ пояснює, як проходити короткий практичний довідник з Python: читати README теми, запускати базові приклади, звіряти output із кодом, а потім самостійно змінювати розширені приклади. Мета — навчитися розуміти власний, згенерований ШІ та розробницький код, а не просто копіювати готові фрагменти. Примітка: конспект укладено за автоматичними оригінальними українськими субтитрами та звірено з репозиторієм `python-automation-basics`.
- 21 типи данихДивитися →
Огляд основних Python types через типові automation-дані: назви тестів, status codes, durations, flags, browser lists, API responses, tuples і sets. Головна практична теза — значення з UI, CSV або environment variables часто приходять як `str`, тому тип треба розуміти й за потреби явно перетворювати. Примітка: конспект укладено за автоматичними оригінальними українськими субтитрами та звірено з кодом уроку.
- 32 операториДивитися →
Урок розбирає comparison, identity, boolean, membership та arithmetic operators на прикладах assertions, HTTP responses, browser allowlists і розрахунку expected values. Акцент — використовувати вбудовані оператори прямо й читабельно, а не відтворювати їх циклами або складною допоміжною логікою. Примітка: конспект укладено за автоматичними оригінальними українськими субтитрами та звірено з кодом уроку.
- 43 умовиДивитися →
Умови показано як механізм прийняття рішень у тестовому коді: класифікувати HTTP status, обробити optional error, перевірити порожню колекцію або підтримуваний browser. Основні ризики — неправильні межі діапазонів, неініціалізована змінна та порядок `if/elif` гілок. Примітка: конспект укладено за автоматичними оригінальними українськими субтитрами та звірено з кодом уроку.
- 54 циклиДивитися →
Цикли застосовуються до колекцій UI elements, users, headers і retry attempts. Урок порівнює `for`, `enumerate`, обхід dictionary та `while`, звертаючи увагу на порядок list/set і обов’язкову умову завершення retry loop. Примітка: конспект укладено за автоматичними оригінальними українськими субтитрами та звірено з кодом уроку.
- 65 comprehensionsДивитися →
Comprehensions стисло створюють нові list, dict або set з наявних даних. Відео показує три automation-задачі: відфільтрувати failed status codes, побудувати lookup users by ID і нормалізувати emails. Однорядковість не є самоціллю: складну логіку краще залишити звичайним циклом або винести у функцію. Примітка: конспект укладено за автоматичними оригінальними українськими субтитрами та звірено з кодом уроку.
- 76 функціїДивитися →
Функції дають ім’я повторюваній операції та повертають результат через `return`. На прикладах payload, users, locators і headers урок показує parameters, type hints, default arguments, `*args`, `**kwargs` та scope вкладених функцій. Примітка: конспект укладено за автоматичними оригінальними українськими субтитрами та звірено з кодом уроку.
- 87 робота з файламиДивитися →
Робота з файлами потрібна для test data, проміжних результатів і diagnostic artifacts. Урок показує `TemporaryDirectory`, `Path`, запис/читання text і JSON, UTF-8 encoding та різницю між relative й absolute paths. Примітка: конспект укладено за автоматичними оригінальними українськими субтитрами та звірено з кодом уроку.
- 98 ексепшениДивитися →
Exceptions сигналізують про невдале виконання операції. В автоматизації їх треба не приховувати, а перетворювати на зрозумілий failure із збереженою першопричиною та гарантованим cleanup ресурсів. Примітка: конспект укладено за автоматичними оригінальними українськими субтитрами та звірено з кодом уроку.
- 1010 оопДивитися →
ООП пояснено через реальні automation objects: `User`, API client і Page Object. Клас має сенс, коли треба тримати state разом із behavior та приховати технічні деталі за зрозумілими methods; для stateless single action звичайна функція часто простіша. Примітка: конспект укладено за автоматичними оригінальними українськими субтитрами та звірено з кодом уроку.
37 відео
Сесії: AMA та PMP
ПМП 31.03 (архів)
- 1Репозиторій як довідник до модулівДивитися →
Коротке пояснення, як користуватися навчальним репозиторієм із гілками для окремих модулів і чому готовий код варто сприймати як орієнтир, а не заміну власним експериментам, запускам і виправленню помилок. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; технічні терміни нормалізовано за контекстом відео.
- 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Як працювати на спокійному проєкті та з нав’язаними оцінкамиДивитися →
Q&A про ознаки здорової робочої культури, overtime, стабільну продуктивність, вплив AI-інструментів і ситуацію, коли команда має виконувати задачі за оцінками, яких сама не давала. Центральна практична теза: не маскувати системну проблему постійними понаднормовими годинами, а робити розбіжність між scope, оцінкою й реальною швидкістю видимою та спільно ескалювати її. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; технічні терміни нормалізовано за контекстом відео. У фрагменті про приховане використання ШІ та видимість проблеми з оцінками автор висловлює суперечливі поради. Конспект передає тему, але не рекомендує порушувати company policy, обходити monitoring, надсилати confidential code стороннім сервісам або навмисно погіршувати якість продукту.
ПМП 11.05 (архів)
- 1Прихована складність бекенд-тестуванняДивитися →
Навіть простий користувацький сценарій на кшталт запрошення до спільноти або перегляду товару може приховувати ланцюг сервісів, платних інтеграцій, правил авторизації, кешів і регуляторних вимог. Тому backend testing починається не з одного endpoint, а з розуміння повного потоку даних і меж відповідальності систем.
- 2Як налаштувати мультиагентне середовищеДивитися →
Мультиагентне середовище — це не набір красивих назв ролей, а система інструкцій, контексту, дозволів, артефактів і quality gates для кількох CLI-агентів. Воно допомагає швидко будувати й перевіряти продукт, але не скасовує планування, тестування, рев'ю коду та глибоку інженерну експертизу.
ПМП 02.07 (архів)
- 1Практика курсу на YOY, домашні завдання та формат ПМПДивитися →
Практичний вступ до проходження курсу: як щотижня розширювати automation suite на реальному YOY-flow, поступово переходити від простих UI-кроків до Page Objects, API preconditions і CI, публікувати домашні завдання через GitHub та використовувати ПМП-сесії для технічних запитань. Наприкінці на живому прикладі розбираються soft delete, GDPR-анонімізація, повторне використання slug і незалежні test data. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; технічні терміни нормалізовано за контекстом відео.
- 2Vibe 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Як проходити курс та його логікаДивитися →
Короткий онбординг до курсу: замість довгого теоретичного вступу учасники відразу пишуть реальні UI-автотести, стикаються з контрольованими проблемами й лише після практики розбирають синтаксис, ООП, патерни та API-рівень. Відео завершується переходом до питання, чому навчання починається не з API-тестів.
- 2Піраміда тестування, чому не API спочатку та як жити з упровадженням ШІДивитися →
Пояснення сучасного розподілу тестів і навчальної логіки курсу. Учасники починають з наочного UI-рівня, потім рефакторять тести й переходять до API. Окрема частина присвячена тому, як змінюється тестування, коли розробники генерують код і тести за допомогою Codex, Claude Code, Cursor та інших AI-інструментів.
- 3Як упровадити автоматизацію мануальному QA та довести її ефективністьДивитися →
Практична модель впровадження тестової автоматизації з нуля: як обрати перші сценарії, порахувати економію часу, пояснити користь менеджменту й перетворити початкові UI-тести на підтримуване покриття. Основна метрика — не кількість написаних тестів, а кількість корисних запусків і різниця між вартістю ручного та автоматизованого прогону.
- 4Як працює проєктний білдер, ізоляція залежностей і впровадження нових інструментівДивитися →
Відповіді на питання про ізоляцію Python-проєктів, залежності, `requirements.txt`, перехід із pip на uv та поступове впровадження Playwright поруч із Selenium. Друга половина відео пояснює, коли початківцю корисніше видалити невдалий локальний проєкт і повторити налаштування, а також чому стабільність тестів і зрозумілий фідбек важливіші за складний репортинг.
AMA-сесія 17.12.2025
- 1Гітігнор та як працювати з гітом та не помилитисьДивитися →
Відео пояснює роль `.gitignore`, візуальні підказки IDE та безпечний щоденний Git workflow. Головна практика — одразу визначити локальні й згенеровані файли, а перед кожним commit вручну перевіряти staged diff, щоб не опублікувати результати тестів, секрети або випадкові зміни. Наприкінці розглядається локальна й глобальна Git-ідентичність для кількох робочих і персональних акаунтів. Примітка: конспект укладено за автоматичними українськими субтитрами; назви команд та інструментів нормалізовано за контекстом. Важливе уточнення: правила ігнорування виконує сам Git через `.gitignore`; IDE-плагін лише допомагає створювати правила та візуалізує їх.
- 2Юзер менеджмент та костилі з якими ви стикнетесь в життіДивитися →
Відео починається з еволюції конфігурації тестового проєкту — від environment variables і локального `.env` до структурованих config-файлів, CI secrets та централізованого config server. Друга частина розбирає testability користувачів: чому спільний статичний акаунт блокує паралельність, як перейти до керованого створення тестових користувачів і які шви потрібні для SSO, OTP, зовнішніх провайдерів, банківських процесів і state machines. Примітка: конспект укладено за автоматичними українськими субтитрами; технічні терміни нормалізовано. Будь-який test-only обхід авторизації має бути технічно недоступний у production, а не захищений лише домовленістю команди.
- 3Що має вміти та знати мідл автоматизаторДивитися →
Відео формує практичну карту компетенцій middle automation engineer: мова програмування, UI та API automation, test runner і lifecycle, незалежність тестів, test design, локатори, патерни, flaky tests, CI й уміння пояснити стратегію покриття. Рівень визначається не кількістю завчених термінів, а здатністю самостійно вибрати test seam, підтримати наявний framework і аргументувати ризики. Примітка: конспект укладено за автоматичними українськими субтитрами; назви мов, бібліотек і патернів нормалізовано за контекстом.
- 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Як manual QA перейти в automationДивитися →
Поради manual QA, який хоче перейти в automation без безумовного повернення на junior-рівень. Головна теза: автоматизація не замінює тестування, а розширює інженерні можливості; доменні знання, test design і розуміння продукту залишаються цінними. Найкращий перший майданчик — поточний проєкт, де вже відомі ризики, люди й система. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; технічні терміни нормалізовано за контекстом відео.
- 2Неймінг та структура automation-проєктуДивитися →
Практична система неймінгу й організації automation-коду: називати Page Objects і компоненти мовою самого продукту, відокремлювати дії від навігації, повторювати REST/GraphQL contracts замість винаходити власні терміни та ускладнювати структуру репозиторію лише після появи реальної межі. Наприкінці розглянуто статичний аналіз, мовні naming conventions і обмежену користь Playwright agents. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; назви API, патернів та інструментів нормалізовано за контекстом відео.
- 3Перехід із менеджменту в технічну роль і sabbaticalДивитися →
Коротка відповідь на два пов’язані питання: чи брати sabbatical після виснаження і чи нормально повернутися з менеджменту в технічну роль. Пріоритетом названо здоров’я та задоволення від життя; зміна ролі не є провалом, а досвід у кількох функціях може зробити людину сильнішим інженером, менеджером або консультантом. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; технічні терміни нормалізовано за контекстом відео.
AMA-сесія 14.01.2026
- 1На сторінці може бути різний контент — що робити?Дивитися →
Відео пояснює, як тестувати сторінку, вміст якої залежить від ролі, тарифу або активної компанії. Замість умовного сценарію, що намагається прийняти будь-який стан, варто підготувати передбачуваний `storageState` для конкретної ролі й мати окремий тест із чітким очікуваним результатом. Примітка: конспект укладено за автоматичними українськими субтитрами; назви Playwright API та технічні терміни нормалізовано за контекстом відео.
- 2Навіщо встановлювати Playwright-браузери, як часто та чому треба оновлювати бібліотекиДивитися →
Відео відповідає на три пов’язані питання: чому встановлення Python-пакета Playwright не встановлює браузерні binaries, як великі компанії контролюють сторонні залежності та чому бібліотеки краще оновлювати регулярно невеликими кроками. Окремо розглянуто security updates і ризик великих стрибків через багато версій. Примітка: конспект укладено за автоматичними українськими субтитрами; назви команд, інструментів і технічні терміни нормалізовано за контекстом відео.
- 3__init__, self, page та принципи ООПДивитися →
Відео пояснює базові елементи Python ООП на прикладах Page Object і компонентів: навіщо методам потрібен `self`, яку залежність передають через `__init__`, що зберігає Playwright `page`, яку роль має `__init__.py` та як у Python позначають non-public API. Завершується розбором інкапсуляції як керованого публічного інтерфейсу, а не просто «приховування коду». Примітка: конспект укладено за автоматичними українськими субтитрами; технічні терміни нормалізовано, а пояснення `__init__`, package і name mangling уточнено відповідно до поведінки Python.
- 4Що має описувати isLoadedДивитися →
Відео визначає контракт `isLoaded`: метод має чекати не формального відкриття URL, а мінімального стану, в якому користувач і тест можуть надійно продовжувати роботу. До цього стану входять ключовий контент, зникнення blocking loader і готовність критичних інтерактивних елементів. Примітка: конспект укладено за автоматичними українськими субтитрами; назви UI-станів і тестових термінів нормалізовано за контекстом відео.
ПМП-сесія 04.02.26
- 1Вчитися через власні помилки чи з менторомДивитися →
Роздуми про баланс між швидким навчанням із ментором і самостійним пошуком через помилки. Ментор скорочує шлях до робочого рішення, але глибоке розуміння часто виникає тоді, коли інженер сам стикається з невдалим підходом, знаходить root cause і вчиться пояснювати рішення іншим. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; технічні терміни нормалізовано за контекстом відео.
- 2Міграція бази даних і тестування данихДивитися →
Сесія про перевірку API після створення сутності та про ризики міграції даних: розподіл coverage між resource tests і business-flow tests, перевірку DTO/schema, втрату полів під час mapping, перенесення логіки з моноліту в мікросервіси та помилки routing через API gateway. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; назви архітектурних компонентів та інструментів нормалізовано за контекстом відео.
ПМП-сесія 18.03.26
- 1Індивідуальний супровід і технічне партнерствоДивитися →
Формати індивідуальної роботи після базового занурення в курс: коли починати, з якою періодичністю зустрічатися і які робочі чи карʼєрні питання розбирати. Примітка: конспект укладено за автоматичними українськими субтитрами; технічні терміни нормалізовано за контекстом відео.
- 2Інфраструктура автотестів та її нюансиДивитися →
Як CI runners отримують доступ до тестових середовищ, чому компанії переходять на self-hosted runners і які ресурси та мережеві правила потрібні UI-автотестам. Примітка: конспект укладено за автоматичними українськими субтитрами; технічні терміни нормалізовано за контекстом відео.
- 3ПМП-сесії та як проходити курсДивитися →
Формат проходження курсу побудовано навколо практики, контрольованих помилок, поступового рефакторингу та регулярних ПМП-сесій із питаннями з будь-якого модуля. Примітка: конспект укладено за автоматичними українськими субтитрами; технічні терміни нормалізовано за контекстом відео.
- 4Пріоритети селекторів та їхня надійністьДивитися →
Практичний вибір Playwright locators: accessibility-first пошук, контроль локалізації та A/B experiments, підтримка `data-testid`, читабельний CSS як fallback і відмова від крихких XPath та індексів. Примітка: конспект укладено за автоматичними українськими субтитрами; технічні терміни нормалізовано за контекстом відео.
- 5Тестові дані для автотестівДивитися →
Як генерувати варіативні test data, передавати типізовану сутність через увесь сценарій і перевіряти цілісність її відображення на кожному API/UI кроці. Примітка: конспект укладено за автоматичними українськими субтитрами; технічні терміни нормалізовано за контекстом відео.
- 6Playwright MCP, CLI, Codegen та AI в розробціДивитися →
Де AI-інструменти справді допомагають автоматизації: браузерний контекст через MCP, контрольований старт із Codegen, відтворювані scripts замість імпровізованих CLI-команд і ручна інженерна перевірка складних flows. Примітка: конспект укладено за автоматичними українськими субтитрами; згадки про моделі та ціни відображають думку автора на момент запису й можуть швидко застарівати.
- 7Методики проведення співбесідДивитися →
Інтервʼю через моделювання реальних проблем замість опитування за списком теорії, а також звʼязок між вимогами вакансії, якістю onboarding і очікуваним рівнем кандидата. Примітка: конспект укладено за автоматичними українськими субтитрами; технічні терміни нормалізовано за контекстом відео.
- 8Антибот-захист у контрольованих автотестахДивитися →
Антибот-захист не слід «зламувати» браузерними трюками: для контрольованих автотестів команда має спроєктувати обмежений test-mode контракт для CAPTCHA, OTP і rate limits. Примітка: конспект укладено за автоматичними українськими субтитрами; security-застереження сформульовано явно, бо bypass-механізми є частиною trust boundary.
ПМП-сесія 23.03.26
- 1Типи мобільних застосунків та мобільна автоматизаціяДивитися →
Огляд native, hybrid і cross-platform мобільних застосунків та практичної стратегії їх тестування. Головна теза: універсальний Appium/WebdriverIO-стек не завжди дає найкращий результат; вибір інструментів має залежати від архітектури застосунку, platform-specific UI, testability і потрібної швидкості feedback. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; назви технологій і технічні терміни нормалізовано за контекстом відео.
- 2Корисні застосунки та їхнє призначенняДивитися →
Демонстрація власних macOS-інструментів автора: Diduny для диктування, запису й транскрибування зустрічей; Papuga для виправлення тексту, набраного не тією розкладкою; Browser Kitty для вибору правильного браузера або профілю; а також експериментального AI sidebar для роботи з виділеним текстом та HTML. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами. Можливості й умови доступу описують стан застосунків на момент запису відео, а не гарантований поточний стан.
- 3Перехід у пентестинг: що важливоДивитися →
Орієнтир для переходу з QA automation у security testing і pentesting: практичне навчання, професійні сертифікації, SAST/DAST, CVE, dependency patching, scripting та розуміння інфраструктури. Автоматизація подається не як зайвий попередній досвід, а як одна з базових навичок security engineer. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами. Назву конкретної рекомендованої сертифікації в captions розпізнано нечітко, тому її не відтворено як підтверджений факт.
- 4Який рівень програмування потрібен automation engineerДивитися →
Відповідь на питання, наскільки глибоко automation engineer має знати програмування. На старті достатньо автоматизувати власну рутину й упевнено володіти базовими конструкціями; зі зростанням seniority потрібні type systems, concurrency, memory, architecture, test levels і здатність обрати стек під конкретну задачу. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; назви мов, frameworks і engineering concepts нормалізовано за контекстом відео.
- 5Чому критикують BDD і CucumberДивитися →
Критика не BDD як способу спільно уточнювати поведінку, а механічного використання Cucumber/Gherkin лише всередині automation suite. Якщо business, product, developers і testers не працюють зі scenarios разом, Gherkin стає додатковим шаром коду, який підтримує тільки автоматизатор. Примітка: конспект укладено за оригінальними українськими автоматичними субтитрами; терміни BDD, Cucumber, Gherkin, TDD і DDD нормалізовано за контекстом відео.