@testersai/playwright
The easiest way to AI-upgrade your existing @playwright/test suite. You already have the tests — this adds AI Checks at the moments that matter, without replacing your framework, runner, or CI pipeline.
analyze_* call, or define your own.Use TestersAIPage or the exported test fixture.
# Download testersai-javascript-playwright-0.1.0.tar.gz from the Downloads page, then:
tar -xzf testersai-javascript-playwright-0.1.0.tar.gz
cd testersai-javascript-playwright-0.1.0
npm install ./testersai-sdk-0.1.0.tgz ./testersai-playwright-0.1.0.tgz
A complete, runnable JavaScript / TypeScript + @playwright/test example.
const { test, expect } = require('@playwright/test');
const { TestersAIPage } = require('@testersai/playwright');
test('checkout', async ({ page }, testInfo) => {
const ta = new TestersAIPage(page, {
frameworkLog: (r) => testInfo.annotations.push({
type: 'testersai', description: `${r.kind} · ${r.issues.length} issues`
}),
});
await page.goto('https://shop.example/cart');
await ta.analyzeScreenshot();
await page.click('#checkout');
await ta.analyzeScreenshot();
await ta.analyzeConsole();
});
Playwright testInfo.annotations. Findings appear in the HTML report and trace viewer.
If the AI call fails — rate limit, hang, firewall, no network — the SDK gives up
fast and returns a skipped result. Your @playwright/test test is never blocked.
Rule of thumb: wherever a human reviewer would pause to look during a manual run. These recommendations are tuned for @playwright/test — pick the ones that fit your suite.
The page just re-rendered. Ask "does this look right?" before any interaction.
Login, add-to-cart, toggle, submit. The UI just reflected a new state — where regressions hide.
You were about to check one thing. Ask the AI about everything else for free.
API returned, spinner gone, toast shown. Catch broken empty-states and stale data.
A single console + network check at the end of every test catches issues your assertions ignored.
Mobile vs. desktop, light vs. dark, locale change. One call per viewport.
Wrap @playwright/test's test with the fixture() helper and import that in your specs. Every test gets ta for free.
testInfo.annotations. Findings appear in the HTML report and trace viewer.Or grab the monolith ZIP (all languages, all adapters).