vibetesting
# vibetesting - Browser Automation Testing Skill
What this skill does
# vibetesting - Browser Automation Testing Skill
A comprehensive browser automation testing skill for OpenClaw that performs functional, UI, accessibility, performance, and visual regression testing.
## Overview
This skill enables OpenClaw to spin up a browser and perform comprehensive testing on web applications. It supports multiple testing types and provides detailed reports.
## Capabilities
### ๐งช Testing Types
1. **Functional Testing**
- Form validation
- Button interactions
- Link navigation
- API interactions
- Data entry and validation
2. **UI Testing**
- Element visibility
- Responsive design checks
- Layout verification
- Color contrast checks
- Typography verification
3. **Accessibility Testing**
- WCAG 2.1 compliance checks
- ARIA label verification
- Keyboard navigation
- Screen reader compatibility
- Alt text validation
4. **Performance Testing**
- Page load times
- Resource timing
- Lighthouse metrics
- Core Web Vitals (LCP, FID, CLS)
- JavaScript execution time
5. **Visual Regression Testing**
- Screenshot comparison
- Layout shift detection
- Visual diff generation
- Threshold-based validation
6. **Security Testing**
- HTTPS verification
- Content Security Policy checks
- XSS vulnerability scanning
- Form security validation
7. **End-to-End Testing**
- User journey testing
- Checkout flow validation
- Authentication flows
- Multi-step form testing
## Usage
### Basic Testing
```markdown
[VibeTesting]
Target URL: https://example.com
Testing Type: functional
```
### Comprehensive Testing
```markdown
[VibeTesting]
Target URL: https://myapp.com
Testing Type: comprehensive
Include: functional, accessibility, performance
Report Format: html
```
### Specific Test Type
```markdown
[VibeTesting]
Target URL: https://example.com
Testing Type: accessibility
WCAG Level: AA
```
## Parameters
| Parameter | Required | Description | Default |
|-----------|----------|-------------|---------|
| `target_url` | Yes | URL to test | - |
| `testing_type` | No | Type of testing | `comprehensive` |
| `include` | No | Test categories to run | All |
| `exclude` | No | Test categories to skip | None |
| `report_format` | No | Output format | `html` |
| `viewport` | No | Browser viewport size | `1920x1080` |
| `headless` | No | Run without browser UI | `true` |
| `timeout` | No | Test timeout (seconds) | `60` |
| `wait_for_network` | No | Wait for network idle | `true` |
| `cookies` | No | Cookies to set | `{}` |
| `auth` | No | Basic auth credentials | `null` |
| `wcag_level` | No | WCAG compliance level | `AA` |
| `performance_threshold` | No | Max load time (ms) | `3000` |
| `screenshot_baseline` | No | Baseline screenshot for comparison | `null` |
| `visual_threshold` | No | Visual diff threshold (0-1) | `0.01` |
## Testing Types
### quick
Fast smoke tests (5-10 seconds)
- Basic page load
- Main elements present
- No JavaScript errors
### functional
Full functional testing (30-60 seconds)
- Form testing
- Button interactions
- Navigation flows
- API validation
### comprehensive
Complete testing suite (2-5 minutes)
- All functional tests
- Accessibility audit
- Performance metrics
- Visual regression
- Security checks
### accessibility
Dedicated accessibility testing (1-2 minutes)
- WCAG compliance
- ARIA labels
- Keyboard navigation
- Screen reader text
### performance
Performance-focused testing (30-60 seconds)
- Page load time
- Core Web Vitals
- Resource timing
- Lighthouse score
### visual
Visual regression testing (1-2 minutes)
- Full-page screenshot
- Layout comparison
- Visual diff generation
### security
Security-focused testing (30-60 seconds)
- HTTPS check
- CSP validation
- Basic vulnerability scan
### e2e
End-to-end user journeys (varies)
- Multi-step flows
- Authentication
- Checkout processes
- User scenarios
## Examples
### Test a Simple Page
```
[VibeTesting]
target_url: https://example.com
testing_type: quick
```
### Run Full Accessibility Audit
```
[VibeTesting]
target_url: https://myapp.com
testing_type: accessibility
wcag_level: AA
report_format: detailed
```
### Performance Testing with Custom Viewport
```
[VibeTesting]
target_url: https://myapp.com
testing_type: performance
viewport: 390x844
performance_threshold: 2000
headless: true
```
### Visual Regression Testing
```
[VibeTesting]
target_url: https://myapp.com
testing_type: visual
screenshot_baseline: baseline.png
visual_threshold: 0.05
```
### E2E Checkout Flow Testing
```
[VibeTesting]
target_url: https://myshop.com
testing_type: e2e
steps:
- add_item_to_cart
- proceed_to_checkout
- fill_shipping
- fill_payment
- complete_order
auth:
user: [email protected]
pass: testpass123
```
### Custom Test with Specific Elements
```
[VibeTesting]
target_url: https://myapp.com
testing_type: functional
elements:
validate:
- selector: "#login-form"
fields: ["email", "password"]
- selector: "#submit-btn"
action: click
expect:
- selector: ".success-message"
visible: true
```
## Output
### Console Output
Real-time test progress and results
### HTML Report
Detailed interactive report with:
- Test summary
- Pass/fail breakdown
- Performance metrics
- Accessibility score
- Visual diffs (if applicable)
- Screenshots
- Recommendations
### JSON Export
Machine-readable results for CI/CD integration
## Integration
### CI/CD Pipeline
```yaml
- name: Browser Testing
uses: openclaw/vibetesting
with:
target_url: https://staging.example.com
testing_type: comprehensive
report_format: json
```
### GitHub Actions
```yaml
- name: VibeTesting
run: |
npx vibetesting \
--url ${{ env.URL }} \
--type comprehensive \
--output results/
```
## Best Practices
1. **Test Environment**
- Use staging/development URLs for testing
- Avoid testing production without permission
- Set up test accounts if needed
2. **Performance**
- Use headless mode for CI/CD
- Set appropriate timeouts
- Don't overload target servers
3. **Security**
- Never commit credentials
- Use environment variables
- Validate SSL certificates
4. **Visual Testing**
- Establish baseline screenshots
- Update baselines after design changes
- Set appropriate thresholds
5. **Accessibility**
- Test with real screen readers
- Check keyboard navigation
- Verify color contrast ratios
## Troubleshooting
### Browser Won't Start
- Ensure Chrome/Chromium is installed
- Check port availability
- Verify no conflicting processes
### Elements Not Found
- Check if page fully loaded
- Verify selectors are correct
- Wait for dynamic content
### Timeout Errors
- Increase timeout setting
- Check network connectivity
- Verify server responsiveness
### Memory Issues
- Run in headless mode
- Close other browser instances
- Increase system resources
## Requirements
- **Browser**: Chrome/Chromium (recommended)
- **OpenClaw**: Gateway running with browser support
- **Network**: Internet access for testing external URLs
- **Permissions**: No special system permissions needed
## Advanced Configuration
### Custom Viewports
```yaml
viewports:
desktop: 1920x1080
tablet: 768x1024
mobile: 390x844
```
### Wait Strategies
```yaml
wait:
network: idle # Wait for network to be idle
dom: stable # Wait for DOM to be stable
selector: "#loaded" # Wait for specific element
timeout: 30
```
### Retry Configuration
```yaml
retry:
attempts: 3
delay: 1000 # ms
selectors:
- ".loading-spinner"
- "#async-content"
```
## Reporting
### Report Sections
1. **Executive Summary**
- Overall score
- Test statistics
- Critical issues
2. **Functional Results**
- Test cases
- Pass/fail details
- Error messages
3. **Accessibility Report**
- WCAG compliance
- Issues by severity
- Recommendations
4. **Performance Metrics**
- Load time breakdown
- Core Web Vitals
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.