Browser-based E2E testing for feature verification. Use when running end-to-end tests, validating features in browser, verifying user flows, or testing feature completion.
60
71%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./.claude/skills/browser-e2e-tester/SKILL.mdThe canonical home for this skill is browser-e2e-tester in fernandezbaptiste/Skrillz
Runs browser-based end-to-end tests to verify feature implementation meets acceptance criteria.
from scripts.e2e_tester import E2ETester
tester = E2ETester(project_dir)
result = await tester.test_feature("auth-001")
if result.passed:
print(f"Feature verified: {result.feature_id}")
else:
print(f"Failed: {result.failures}")results = await tester.test_all_features()
print(f"Passed: {results.passed}/{results.total}")┌─────────────────────────────────────────────────────────────┐
│ E2E TEST WORKFLOW │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. SETUP │
│ ├─ Load feature acceptance criteria │
│ ├─ Start test server (if needed) │
│ ├─ Initialize browser automation │
│ └─ Set test timeout │
│ │
│ 2. EXECUTE │
│ ├─ Navigate to feature entry point │
│ ├─ Execute test steps │
│ ├─ Capture screenshots on failure │
│ └─ Record test artifacts │
│ │
│ 3. VERIFY │
│ ├─ Check expected outcomes │
│ ├─ Validate UI state │
│ ├─ Verify API responses │
│ └─ Assert data persistence │
│ │
│ 4. REPORT │
│ ├─ Generate test report │
│ ├─ Update feature status │
│ └─ Store failure artifacts │
│ │
└─────────────────────────────────────────────────────────────┘@dataclass
class TestResult:
feature_id: str
passed: bool
duration_ms: int
steps_executed: int
steps_passed: int
failures: list[str]
screenshots: list[Path]
artifacts: dict| Framework | Integration | Use Case |
|---|---|---|
| Playwright | Native | Modern web apps |
| Puppeteer | Adapter | Chrome-focused |
| Selenium | Adapter | Legacy browsers |
| Cypress | CLI | Component tests |
{
"feature_id": "auth-001",
"acceptance_criteria": [
{
"step": "Navigate to login page",
"action": "goto",
"target": "/login"
},
{
"step": "Enter credentials",
"action": "fill",
"target": "#email",
"value": "test@example.com"
},
{
"step": "Submit form",
"action": "click",
"target": "button[type=submit]"
},
{
"step": "Verify redirect",
"action": "assert_url",
"expected": "/dashboard"
}
]
}references/E2E-PATTERNS.md - Test patternsreferences/BROWSER-AUTOMATION.md - Automation guidescripts/e2e_tester.py - Core testerscripts/browser_controller.py - Browser automationscripts/test_reporter.py - Report generationscripts/acceptance_parser.py - Criteria parser93ed392
Canonical home
since Sep 12, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.