From sundial-org-awesome-openclaw-skills-4
Runs accessibility-tree based QA automation: smoke tests, test suites, and PDF reports for web apps. Detects elements by role instead of CSS selectors.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sundial-org-awesome-openclaw-skills-4:web-qa-botThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
AI-powered web application QA automation using accessibility-tree based testing.
AI-powered web application QA automation using accessibility-tree based testing.
This skill provides tools for automated QA testing of web applications. It uses browser accessibility trees for reliable element detection instead of fragile CSS selectors.
npm install -g web-qa-bot agent-browser
agent-browser install
web-qa-bot smoke https://example.com
Runs basic health checks:
web-qa-bot run ./tests/suite.yaml --output report.md
web-qa-bot report ./results.json -o report.pdf -f pdf
# Smoke test a production URL
web-qa-bot smoke https://app.example.com --checks pageLoad,consoleErrors,navigation
Create a test suite and run before each deployment:
# tests/critical-paths.yaml
name: Critical Paths
baseUrl: https://staging.example.com
tests:
- name: Login flow
steps:
- goto: /login
- type: { ref: Email, text: [email protected] }
- type: { ref: Password, text: testpass }
- click: Sign In
- expectVisible: Dashboard
- expectNoErrors: true
web-qa-bot run ./tests/critical-paths.yaml --output qa-report.pdf -f pdf
# Run tests and fail CI if issues found
web-qa-bot run ./tests/smoke.yaml || exit 1
import { QABot } from 'web-qa-bot'
const qa = new QABot({
baseUrl: 'https://example.com',
headless: true
})
await qa.goto('/')
await qa.click('Get Started')
await qa.snapshot()
qa.expectVisible('Sign Up')
await qa.close()
This tool wraps agent-browser CLI for browser automation:
# Connect to existing browser session
web-qa-bot smoke https://example.com --cdp 18800
# Run headed for debugging
web-qa-bot run ./tests/suite.yaml --no-headless
Results are returned as structured JSON:
{
"name": "Smoke Test",
"url": "https://example.com",
"summary": {
"total": 4,
"passed": 3,
"failed": 0,
"warnings": 1
},
"tests": [
{
"name": "Page Load",
"status": "pass",
"duration": 1234
}
]
}
npm install -g agent-browser
agent-browser install
Take a snapshot first to see available refs:
agent-browser snapshot
Increase timeout or check if element is behind a loading state:
steps:
- waitMs: 2000
- waitFor: "Loading" # Wait for loading to appear
- waitFor: "Content" # Then wait for content
npx claudepluginhub sundial-org/awesome-openclaw-skillsPerforms adversarial UI testing via browse CLI: analyzes git diffs for targeted testing or explores apps for bugs in functionality, accessibility, responsive layout, and UX heuristics.
Automates visual testing, UI interaction verification, and accessibility audits on live pages after deployment. Uses browser automation (Chrome, Playwright, Puppeteer) to smoke test, interact, check visual regression, and audit WCAG AA compliance.
QA tests a live website using Firecrawl browser and scrape for exploratory testing, form validation, navigation checks, responsive design, and performance audits with structured reporting.