QA Automation
AI QA Automation You Actually Own
In 10 minutes you will go from zero test coverage to a full Playwright suite generated by AI, running in CI, with every line of code under your control.
Before you start
- Node.js 18+ installed
- A running web app (localhost or staging URL)
- npx available in your terminal
- A CI pipeline (GitHub Actions, GitLab CI, or similar)
1. Install Assrt and Playwright
Assrt generates standard Playwright tests. Install both in one command. No account creation, no API keys, no cloud dependency.
2. Point AI at Your App
Give Assrt a URL. It crawls your app, identifies user flows (login, checkout, search, form submissions), and generates a test plan. No selectors to write. No page objects to maintain.
3. Generate Playwright Tests
Accept the plan and Assrt writes real TypeScript test files. These are standard Playwright tests, not a proprietary format. Open them in your editor, read them, modify them, commit them.
4. Inspect the Generated Code
Every generated test is readable TypeScript. No abstraction layers, no proprietary runners, no YAML. Here is what a generated login test looks like:
Notice the use of role-based and label-based selectors. These are more resilient to UI changes than CSS selectors or XPaths, because they target what the user sees rather than internal DOM structure.
5. Run the Suite Locally
Run the tests with the standard Playwright CLI. No special runner needed.
6. Add Tests to CI
Since the tests are plain Playwright files, they plug into any CI system. Here is a GitHub Actions workflow that runs them on every pull request:
7. Regenerate When the App Changes
When you ship a new feature, rerun the generator. Assrt diffs the existing test files against the new app state and updates only what changed. Your manual edits are preserved.
The --update flag is the key to long-term maintenance. Instead of regenerating everything, Assrt keeps your existing tests stable and only touches what the app changes require.
Why AI QA Automation Matters Now
Manual test writing does not scale. A mid-size SaaS application has hundreds of user flows, and each one needs tests for happy paths, error states, edge cases, and cross-browser behavior. QA teams that write tests by hand fall behind within weeks of a product launch.
AI QA automation changes the economics. Instead of spending 40+ hours writing a test suite, you point a tool at your running app and get working tests in minutes. The question is what you get back.
Most AI QA tools generate proprietary test definitions: YAML configs, visual recordings, or platform-specific scripts that only run inside the vendor's cloud. If you cancel your $7,500/month contract, your tests disappear. You cannot run them locally. You cannot read them in a code review. You cannot extend them with custom logic.
Assrt takes a different approach: the output is standard Playwright TypeScript. You commit the tests to your repo. You run them withnpx playwright test. You own them completely.
What to Look for in an AI QA Tool
Not all AI QA automation tools are built the same. Here are the questions that matter when evaluating options:
| Question | Red flag | Green flag |
|---|---|---|
| What format are the tests? | Proprietary YAML or visual recordings | Standard Playwright/Cypress code |
| Can I run tests locally? | Cloud execution only | Local + CI + cloud all supported |
| What happens if I cancel? | Tests stop running | Tests are yours, keep running forever |
| Can I edit generated tests? | Limited to the platform UI | Full code access in any editor |
| What does it cost? | $5K to $15K per month | Free and open-source |
Patterns AI QA Catches That Manual Testing Misses
AI crawlers interact with your app the way a real user would, which means they discover flows that developers often skip when writing tests by hand:
- Cross-flow state leaks. Completing a checkout flow, then navigating to settings, then back to the cart. Does the cart remember its state?
- Tab and keyboard navigation. Can a user complete the signup form using only the keyboard? AI tools test this because they interact with accessibility roles, not coordinates.
- Error recovery paths. What happens when a network request fails mid-form-submission? AI generators create tests for these scenarios because they observe all network activity during crawling.
- Viewport breakpoints. Mobile layouts that hide navigation behind a hamburger menu. AI tools generate separate test paths for each viewport size.
Generate your test suite now
Assrt is free, open-source, and self-hosted. Run npx assrt generate against your app and get real Playwright tests in minutes.
Get Started →Troubleshooting Common Issues
A few things that can trip up first-time setup:
Tests fail because the app is not ready
In CI, the dev server may not be fully started when tests begin. Use npx wait-on http://localhost:3000before running tests, or configure Playwright'swebServer option inplaywright.config.ts:
Generated selectors do not match
If your app does not use semantic HTML (buttons without labels, divs instead of links), the AI will fall back to less stable selectors. Fix the accessibility of your app and regenerate. This improves both test stability and the experience for users with assistive technology.
Authentication-gated flows
For apps that require login, provide test credentials via environment variables. Assrt uses them to authenticate before crawling protected routes:
Assrt is open-source and free. Run npx assrt generate against your app to get started.