TestersAI.Playwright
The easiest way to AI-upgrade your existing Playwright (.NET) 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.new TestersAIPage(page). Hooks Console, PageError, and Response events.
# Download testersai-csharp-playwright-0.1.0.tar.gz from the Downloads page, then:
tar -xzf testersai-csharp-playwright-0.1.0.tar.gz
cd testersai-csharp-playwright-0.1.0
dotnet add <your.csproj> reference ./Core/TestersAI.Core.csproj
dotnet add <your.csproj> reference ./Playwright_TestersAI/
A complete, runnable C# / .NET + Playwright (.NET) example.
using var pw = await Playwright.CreateAsync();
await using var browser = await pw.Chromium.LaunchAsync();
var page = await browser.NewPageAsync();
var ta = new TestersAIPage(page,
r => TestContext.Progress.WriteLine($"ta: {r.Issues.Count}"));
await page.GotoAsync("https://example.com");
var shot = await ta.AnalyzeScreenshotAsync();
Assert.IsFalse(shot.Failed);
Plug in an Action<AnalysisResult> for your framework's native logger (NUnit TestContext, xUnit output, ...).
If the AI call fails — rate limit, hang, firewall, no network — the SDK gives up
fast and returns a skipped result. Your Playwright (.NET) 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 (.NET) — 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.
Action<AnalysisResult> for your framework's native logger (NUnit TestContext, xUnit output, ...).Or grab the monolith ZIP (all languages, all adapters).