Skip to main content

browser-testing

Patterns and templates for browser-based QA using Playwright. Covers navigation, form interaction, screenshot capture, visual verification, and CAPTCHA/auth handoff.

Source facts

Repository
bdfinst/agentic-dev-team
Last source activity
July 5, 2026 at 18:39
Detected SKILL.md language
English
Stars
299
Forks
36

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
browser-testing
description
Patterns and templates for browser-based QA using Playwright. Covers navigation, form interaction, screenshot capture, visual verification, and CAPTCHA/auth handoff.
role
worker
user-invocable
false
# Browser Testing Skill ## Overview This skill provides reusable patterns for browser-based testing and visual verification using Playwright. Agents load this skill when they need to interact with a running application through a real browser. ## Prerequisites Playwright must be installed with at least the Chromium browser — `/project-init` installs it for frontend projects, or install manually: ```bash npx playwright install chromium ``` ## Playwright Patterns | Category | Description | | ---------- | ------------- | | Navigation | `goto`, `waitForSelector`, `waitForNavigation` with network-idle | | Form Interaction | `fill`, `selectOption`, `check`, `setInputFiles`, submit | | Click Actions | Click by selector/text, double-click, right-click, hover | | Screenshots | Full page, viewport, element, and clipped region captures | | Waiting Strategies | Selector appear/disappear, text match, network response | | Data Extraction | `textContent`, `getAttribute`, `inputValue`, `count`, `isVisible` | | Script Template | Full `/browse` boilerplate with error capture and console logging | | Error Handling | Common timeout, connection, and protocol errors with resolutions | | CAPTCHA/Auth Handoff | Detect walls, report to user, resume from `storageState` | See `references/playwright-patterns.md` for full code examples, the script template, and the error handling table. ## Fast Feedback Loop A verification pass is usually a *sequence* of related checks, not one isolated check — keep the loop cheap: - **Batch checks into one session.** Launch the browser once, run the full sequence of actions/waits/screenshots needed for the verification pass, then close — don't relaunch a fresh browser per individual check. - **Reserve `networkidle` for the first navigation.** After the initial `goto`, a re-check following a known, small change should wait on the specific signal that changed (`waitForSelector`, `waitForResponse`) rather than re-waiting on full network idle. - **Skip the reload when nothing routed.** If the change under verification didn't require a new route or a fresh document, act on the already-loaded page instead of calling `page.goto()` again or relaunching; use `page.reload()` only when a fresh document is genuinely required. - **Scope intermediate screenshots.** Prefer element/clip screenshots for the in-between checks in a sequence; reserve full-page screenshots for the final verification. The underlying principle — prefer the cheapest deterministic signal over a broad, expensive wait — is the same one that governs CI-gate test-suite design, but this section applies it to a single interactive verification session, not a project's test architecture. ## Visual Verification Guidelines When interpreting screenshots, describe: 1. **Layout**: Is the page structure correct? Any overlapping elements, broken grids, or overflow? 2. **Content**: Is the expected text/data visible? Any placeholder text or missing images? 3. **State**: Are interactive elements in the right state? (buttons enabled/disabled, forms populated, etc.) 4. **Responsiveness**: At the given viewport, does the layout adapt correctly? 5. **Errors**: Any visible error messages, 404 pages, or console errors captured? Compare observations against acceptance criteria when available. Flag discrepancies as findings.
View on GitHub