.gitignore
Versioned список patterns для intentionally untracked files; він не впливає на files, які Git уже відстежує.
3. Селектори та пошук елементів →Відеобібліотека
Пошук у нотатках курсу Python мануфактура та спільних матеріалах з переходом на потрібну секунду.
Versioned список patterns для intentionally untracked files; він не впливає на files, які Git уже відстежує.
3. Селектори та пошук елементів →Чинна Git documentation прямо зазначає: files already tracked by Git are not affected; їх потрібно окремо вилучити з index, перш ніж ignore pattern запобігатиме повторному додаванню.
3. Селектори та пошук елементів →Machine-readable files, які test framework adapter записує під час run; Allure Report читає їх для генерації HTML report.
4. Allure репорт, основи та інтеграція в CI →Фіксує API та media types для screenshots і інших diagnostic files.
4. Allure репорт, основи та інтеграція в CI → Першоджерело ↗Step definitions, організовані навколо окремих feature files замість shared domain language; Cucumber описує цей підхід як anti-pattern через duplication і explosion of steps.
Чому критикують BDD і Cucumber →Version-controlled файл patterns для intentionally untracked files, які мають ігноруватися в певній частині working tree.
Гітігнор та як працювати з гітом та не помилитись →До Git додаються source code, Gradle Wrapper і потрібні configuration files. Не комітяться `.gradle`, `build`, `out`, локальна `.idea`, Maven build output та файли з environment variables чи secrets. Виняток для частини `.idea` може бути свідомим командним рішенням, наприклад для спільного code style. `.gitignore` має явно захищати repository від згенерованого сміття та приватних даних.
Повноцінний reporting — це додаткова система, яку доведеться оновлювати й підтримувати. Якщо команді достатньо logs, screenshots, traces і простого HTML report, не варто автоматично додавати Allure лише через популярність. Він доречний, коли потрібні історія, структуровані steps, attachments і спільна точка перегляду результатів. Екосистема має три практичні шари: Allure CLI генерує report; language binding формує сумісні result files; framework adapter на кшталт `allure-pytest` підключається до конкретного test runner. У відео також прямо згадано ризик telemetry та походження продукту: перед adoption треба перевірити актуальну політику даних і вимкнути необов’язкову аналітику відповідно до правил організації.
Файли зберігають підготовлених users, transactions або результати, які треба передати наступному кроку чи додати до report. Перед записом варто визначити життєвий цикл даних: тимчасовий debug output не повинен назавжди засмічувати repository або CI agent.
IDE кольорами відрізняє нові, змінені, незмінені та проігноровані файли. Конкретні кольори залежать від теми й редактора, тому важливий не сам колір, а статус у Version Control. Як приклад до `.gitignore` додаються каталоги з результатами та звітами тестів. Такі артефакти зазвичай відтворюються під час запуску й не потрібні іншим розробникам у Git. Після зміни правила варто перевірити, що каталог справді став ignored і не присутній у staged changes.
SAST аналізує codebase, configuration та infrastructure definitions без запуску повного user flow. До scope можуть входити source code, dependencies, YAML, Docker та Terraform files. DAST працює проти запущеного застосунку: генерує requests, змінює parameters, headers, authentication data й шукає небезпечну runtime behavior. OpenAPI specification може бути input для API security scanner-а. Окремі tools аналізують network traffic або вразливості, характерні для конкретної мови, cloud platform, protocol чи IoT stack. Тому pentesting швидко розгалужується на спеціалізації, а не зводиться до ручного перебору requests у Postman.
Для middle і особливо senior рівня очікується розуміння типів даних, проходу collections, роботи з files та databases, object lifecycle, scope variables, initialization order і test runner lifecycle. Ці знання зазвичай закріплюються після реальної проблеми, а не після ізольованої лекції. Тому відповідь не вимірюється списком syntax topics. Junior має безпечно змінювати прості scripts; middle — діагностувати non-obvious behavior; senior — пояснювати system-level root cause й обирати правильний test seam.
Запис запускається через `context.tracing.start(screenshots=True, snapshots=True, sources=True)`, а перед закриттям context завершується `tracing.stop(path=...)`. Trace Viewer показує Playwright actions, DOM snapshots, source files і network. Якщо вставити start/stop у кожну низькорівневу fixture, код дублюється, а один session trace змішує кілька тестів. Tracing переноситься у test-scoped app fixtures, щоб кожен тест мав окремий lifecycle.
[Дивитися з 10:25](https://www.youtube.com/watch?v=crzGm6nzfbU&t=625s). Початкові agent files можна згенерувати через research: зібрати best practices для ролі, структуру інструкції, потрібні tools і формат комунікації. Далі ці файли потрібно підтримувати разом із проєктом, а не вважати одноразовими prompts. PM зручно використовувати для декомпозиції й синхронізації, test analyst — для стратегії покриття, QA automation — для реалізації перевірок. У демонстрації Codex імпортує project instructions і subagents з Claude-конфігурації, але після міграції все одно треба перевірити permissions, моделі й спосіб виклику ролей.
Pentester автоматизує запуск tools, підготовку input, аналіз результатів, відтворення знахідок і створення reports. Для цього потрібні базові programming concepts: variables, data structures, files, network requests, error handling і передача даних між process-ами. Мова залежить від задачі: Shell підходить для orchestration, TypeScript або Python — для швидких API scripts, Go часто зустрічається в infrastructure та security tooling. Low-code може пришвидшити старт, але на співбесіді й у production роботі все одно потрібно розуміти, що саме виконує generated script.
Після першої мови наступна засвоюється швидше, бо основні задачі повторюються: прочитати або записати file, пройти collection, зберегти structured data, виконати network request, звернутися до database й запустити test runner. Змінюються syntax, libraries та окремі runtime semantics. Практичний орієнтир: добре вивчити одну мову на реальних задачах, а другу брати тоді, коли вона відкриває дешевший або надійніший спосіб вирішити поточну проблему. AI допомагає швидше знайти syntax, але не замінює перевірку architecture і behavior.