← Java

Після цього уроку ви зможете

Конспект і таймкоди

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

  1. Автоматизуйте створення 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

  1. Складіть перевірки для видалення 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.