Конспект і таймкоди
0:00
Щотижневий цикл навчання і test surface
[Дивитися з 00:00](https://www.youtube.com/watch?v=viR9Rnmxse4&t=0s). Для кожного модуля потрібно не лише переглянути матеріал, а повторити показане, додати новий test або покращити попередній. Основним practice surface є тестове середовище YOY: тут можна створювати users, communities та events. Production для автоматизації не підходить, зокрема через CAPTCHA й ризик забруднення реальних даних.
Термін
Test isolation
Принцип, за яким кожен test працює незалежно та контролює власні data, storage і cookies. У parallel execution окремі accounts або unique suffixes потрібні для ізоляції shared server-side state, а не для випадковості самої по собі.
1:30
Community flow і перші boundary cases
[Дивитися з 01:30](https://www.youtube.com/watch?v=viR9Rnmxse4&t=90s). Початковий end-to-end flow: створити user, створити community, перевірити її сторінку та редагування. Уже тут видно реальні edge cases: auto-generated URL під час створення не обов’язково поводиться так само під час edit, mobile-first layout відрізняється на desktop, а payment merchant потребує окремого test configuration і не має використовувати production credentials.
Практика
Вертикальний community flow
- Автоматизуйте створення user і community, перевірте її public page, відредагуйте дані та підтвердьте результат після повторної авторизації. Зафіксуйте, які preconditions варто перенести з UI в API лише після першої робочої версії.
Результат: Один відтворюваний test із незалежними даними та явними перевірками state transition.
3:30
Event builder як набір automation-задач
[Дивитися з 03:30](https://www.youtube.com/watch?v=viR9Rnmxse4&t=210s). Багатокрокове створення event містить text fields, images, dates, location/online/hybrid modes, speakers і publish action. Для першої ітерації достатньо послідовних Playwright operations: знайти element, заповнити, натиснути й перевірити видимий результат. Окремі tests можуть покривати різні event types та їх відображення після публікації.
5:30
Від простого UI-тесту до Page Objects, API та CI
[Дивитися з 05:30](https://www.youtube.com/watch?v=viR9Rnmxse4&t=330s). Suite ускладнюється вертикально: спочатку прямий UI-flow, потім reusable helpers, Page Objects, розширення object model, API preconditions і повторне використання authenticated state. Складніший сценарій може створити другу людину, зареєструвати її на event і перевірити participant list від імені admin. Пізніше ті самі tests мають запускатися в CI, де з’являться окремі environment-specific failures.
Що змінилося після запису
Playwright setup залежить від версії
У відеоУ відео рекомендовано API preconditions, reused authenticated state та незалежні test data.
АктуальноПоточна документація Playwright рекомендує не комітити auth state і використовувати окремий account на parallel worker, якщо tests змінюють shared server-side state. Конкретні fixtures, directories та worker APIs слід звіряти з версією Playwright у проєкті.
Термін
Authenticated browser state
Збережені cookies і headers для повторного використання авторизованої browser session. Такий файл може дозволити impersonation test account, тому його не слід комітити навіть у private repository; shared account підходить лише для tests без конфліктних server-side mutations.
8:00
Живий продукт, test design і безпечні запитання
[Дивитися з 08:00](https://www.youtube.com/watch?v=viR9Rnmxse4&t=480s). YOY навмисно лишається живим продуктом із evolving behavior, щоб учні бачили не стерильні приклади, а неоднозначні UI states, responsive issues, calendars, images, links, QR та chat/network mode. Помічену неточність не варто автоматично списувати на «специфіку»: вона може розростися в regression. Питання про робочі проєкти треба анонімізувати — прибирати domains, secrets, персональні дані та інші identifiers зі screenshot, HTML або endpoint fragment.
Увага
Не публікуйте дані робочого проєкту
Перед запитанням або прикладом приберіть domains, secrets, персональні дані й identifiers зі screenshots, HTML та endpoint fragments.
10:30
Домашні завдання через GitHub
[Дивитися з 10:30](https://www.youtube.com/watch?v=viR9Rnmxse4&t=630s). Щотижня очікується один або кілька нових tests. Перша домашня робота публікується як repository link; наступні — в окремих branches і pull requests порівняно з main. Це дає reviewer-у точний diff конкретного модуля, а учневі — невеликий, але реальний portfolio artifact. Якщо PR уже merged, треба чітко вказати commit або зміни, які відповідають домашній роботі.
13:30
Формат ПМП, записи й період перевірки
[Дивитися з 13:30](https://www.youtube.com/watch?v=viR9Rnmxse4&t=810s). ПМП — відкрите часове вікно для запитань про automation, patterns, feedback, AI або власний проєкт; необов’язково бути присутнім від самого початку. Технічні й корисні soft-skill теми записуються окремими fragments, приватні розмови можуть не публікуватися. Homework review діє протягом визначеного періоду, а доступ до матеріалів лишається; об’єктивну довгу паузу варто узгоджувати завчасно.
17:30
Перша домашня робота і незвичний auth flow
[Дивитися з 17:30](https://www.youtube.com/watch?v=viR9Rnmxse4&t=1050s). Мінімальне завдання першого модуля: автоматизувати login або registration, створення community та перевірку, що після повторної авторизації збереглися введені profile data. YOY дозволяє зареєструватися на event і фактично авторизувати нового user у межах одного flow, тому test має описувати реальну state transition, а не припускати класичний окремий signup screen.
20:00
Soft delete, зв’язки даних і GDPR
[Дивитися з 20:00](https://www.youtube.com/watch?v=viR9Rnmxse4&t=1200s). Community пов’язана з events, tickets, profiles, merchants і майбутніми transactions. Hard delete може зламати historical views та referential integrity, тому запис часто отримує deleted_at або status, а персональні fields анонімізуються. GDPR-вимога видалити personal data не обов’язково означає фізично стерти кожен relational record; конкретна реалізація має зберегти потрібні зв’язки без можливості ідентифікувати людину.
Що змінилося після запису
Soft delete не доводить GDPR compliance
У відеоУ відео soft delete й анонімізація розглядаються як спосіб зберегти relational history без ідентифікації людини.
АктуальноArticle 17 визначає право на стирання та винятки, а Recital 26 відрізняє anonymous від pseudonymised data. Реалізація потребує окремих retention і legal-basis rules; soft delete сам по собі недостатній.
Що змінилося2018-05-25
Термін
Anonymisation
Незворотне усунення можливості ідентифікувати людину з урахуванням засобів, які обґрунтовано можуть бути використані. Pseudonymised data, які можна знову пов’язати з людиною, залишаються personal data.
Практика
Матриця перевірок soft delete
- Складіть перевірки для видалення community: доступність старого slug, видимість пов’язаних events і tickets, анонімізація персональних полів та повторне використання public slug. Не припускайте конкретної реалізації без продуктового contract.
Результат: Таблиця observable states до видалення, одразу після нього та після повторного створення сутності.
23:00
Унікальні test data і повторне використання slug
[Дивитися з 23:00](https://www.youtube.com/watch?v=viR9Rnmxse4&t=1380s). Автотест не може покладатися на випадкове ручне очищення: кожен run потребує незалежних names, emails та URLs, наприклад через Faker або контрольований unique suffix. Водночас validation tests мають використовувати стабільний набір навмисно невалідних values. Обговорення виявляє можливий defect: після soft delete database identity може лишатися, але public slug доцільно анонімізувати або звільняти, якщо зовнішні зв’язки тримаються за immutable ID.
Джерела та додаткові матеріали
- Playwright Best Practices ↗Microsoft Playwright · перевірено 2026-07-31
Уточнює controlled environment і незалежність tests.
- Playwright Authentication ↗Microsoft Playwright · перевірено 2026-07-31
Фіксує security boundary для auth state і parallel account strategy.
- Regulation (EU) 2016/679 (GDPR) ↗European Parliament and Council of the European Union · перевірено 2026-07-31
Дає первинний правовий contract для erasure, pseudonymisation та anonymisation.
- Авторські приклади API client і Page Object ↗Roman Marinskyi · перевірено 2026-07-31
Pinned приклад пов’язує API client і Page Object із переходом уроку від прямого UI-flow до reusable automation structure. Код не скопійовано через відсутність LICENSE у repository.