Playwright trace
Trace містить actions, DOM snapshots, console і network details; це корисний debugging artifact, який може містити чутливі headers або payloads.
Як упровадити автоматизацію мануальному QA та довести її ефективність →Відеобібліотека
Пошук у нотатках курсу Python мануфактура та спільних матеріалах з переходом на потрібну секунду.
Trace містить actions, DOM snapshots, console і network details; це корисний debugging artifact, який може містити чутливі headers або payloads.
Як упровадити автоматизацію мануальному QA та довести її ефективність →Інструмент Playwright для аналізу записаного test run: actions, DOM snapshots, source, console, network, errors і часової шкали.
1. Налаштування Playwright та Pytest, простий репортінг →Зареєструйте marker smoke і позначте ним один UI test.
Налаштуйте tracing=retain-on-failure.
Навмисно зламайте locator у test environment.
Відкрийте trace.zip і знайдіть failed action, console та network context.
Є відтворюваний failed test і trace, за яким можна назвати точну причину падіння.
Фраза про історично складнішу роботу Selenium з console/network лишається корисним контекстом, але Selenium 4.46 документує WebDriver BiDi domains. Поточна різниця — інтегрованість trace/mocking workflow, а не абсолютна відсутність можливості.
Як працює проєктний білдер, ізоляція залежностей і впровадження нових інструментів →Для демонстрації навмисно ламається locator, після чого збережений `trace.zip` відкривається командою `playwright show-trace <path>`. Trace Viewer показує послідовність actions, стан сторінки до й після кожної дії, source line, console errors і network requests. Timeline допомагає побачити не лише місце падіння, а й час очікування. Виділивши потрібний інтервал, можна звузити network-події до конкретної дії. Snapshot сторінки також дозволяє перевірити DOM і locator навіть тоді, коли браузер із failed run уже закритий — наприклад, помітити завислий loader або overlay.
Змінна отримує тип із присвоєного значення: текст у лапках стає `str`, ціле число — `int`, число з десятковою крапкою — `float`, а `True`/`False` — `bool`. `type(value)` допомагає побачити фактичний тип. Файл можна запускати кнопкою Run в IDE й одразу звіряти оголошені значення з console output.
Рекомендований цикл: прочитати пояснення, запустити файл, подивитися console output, знайти рядок, який його створив, а потім змінити дані й повторити запуск. Така практика розвиває здатність читати Python, формулювати точніші задачі для ШІ, описувати дефекти та предметно обговорювати код із розробниками.
У Python-програмі Selenium розглядається, але основний інструмент — Playwright. Головна навичка автоматизатора не прив’язана до API конкретної бібліотеки: потрібно розуміти сторінку й API продукту, будувати тестовані сценарії та домовлятися з розробниками про стабільні селектори й testability. Playwright надає більше готових можливостей для console, network mocking, traces і компонентних перевірок. У Selenium подібні задачі історично були складнішими, хоча сучасні протоколи браузера розширили його можливості. TypeScript-версія Playwright має зручний `playwright.config`, але це не робить інші мови неповноцінними: конфігурацію, паралельність, sharding і репорти можна організувати іншими механізмами. Водночас async/Promise-модель TypeScript іноді додає складності, яка не пов’язана безпосередньо з тестовою задачею.
Після міграції тест запускається через команду `uv run ...` з консолі, бо це ближче до майбутнього CI-запуску, ніж Run Configuration IDE. Треба перевірити, що виконався потрібний тест і що очікуване падіння справді належить тестовій логіці, а не відсутній залежності чи неправильному шляху. Фінальний крок — створити короткий `README` з мінімальною версією Python, установкою, командами запуску, структурою та правилами внесення змін. Commit message перевіряється вручну: він має називати реальну міграцію на `uv` і підключення Ruff, а не перелічувати випадкові деталі diff.