Run tests your way, and gate releases on the results.
Run tests by hand with keyboard shortcuts, or automate them with Playwright. Start runs from CI webhooks or on a cron schedule, or upload results from your own pipeline. Every result ends up in one place.
Manual Execution
Keyboard-first: P to pass, F to fail. Guest access via shareable token for stakeholders who need to validate but don't have accounts. Public submission endpoint for external teams.
Add test cases to an existing run mid-execution. Results per case, tracked and exportable.
Automated Execution
Playwright-based. When a test fails with what looks like a timing or locator error, RuyQA asks a model to suggest a rewrite of the test's steps and runs the rewritten test once.
If the rewrite passes, the result is marked for review and the original failure stays in your failed count. A rewrite can loosen a test enough to hide a real bug, so it is never counted as a pass. Failures that look like real assertion failures are left alone. Run status goes PENDING, RUNNING, then COMPLETED, FAILED or CANCELLED.
Looks like a locator problem, not a failed assertion.
Rewritten steps, run once.
Automated Execution
Playwright-based. When a test fails with what looks like a timing or locator error, RuyQA asks a model to suggest a rewrite of the test's steps and runs the rewritten test once.
If the rewrite passes, the result is marked for review and the original failure stays in your failed count. A rewrite can loosen a test enough to hide a real bug, so it is never counted as a pass. Failures that look like real assertion failures are left alone. Run status goes PENDING, RUNNING, then COMPLETED, FAILED or CANCELLED.
Selector changed from #edit-profile-btn to [data-testid="edit-profile"]
Updated selector → [data-testid="edit-profile"] (confidence: 0.87)
CI Agents
Register remote runner agents. Each agent reports a heartbeat — ONLINE, OFFLINE, or BUSY. Labels and capability metadata for targeted job assignment.
Your CI infrastructure, visible and manageable from RuyQA.
Webhooks & Scheduling
GitHub Actions, GitLab CI, Jenkins — inbound webhooks trigger automation runs on any build event. Provider-specific payload parsers plus a generic fallback.
Cron scheduling with cron expression and timezone. Link to a suite. Schedules run on cron expressions with a time zone. The last run and the next run are tracked.
Bulk Ingestion
The /api/v1/ingest endpoint accepts authenticated, bulk result ingestion from any CI/CD pipeline. If your pipeline produces test results, RuyQA can receive them.
POST /api/v1/ingest Authorization: Bearer {token} { "results": [ { "test": "TC-1", "status": "passed" } ] }
Start executing.
Your first test run — manual or automated — is minutes away.
Start Free Trial