SmartTests. Playwright on Steroids
SmartTests. Playwright on Steroids
Scripted tests, with Natural language step support. No-Code editor for easier authoring. Built-In Requirement Traceability.
Scripted tests, with Natural language step support. No-Code editor for easier authoring. Built-In Requirement Traceability.
Scripted tests, with Natural language step support. No-Code editor for easier authoring. Built-In Requirement Traceability.

100% Playwright Based
100% Playwright Based
TestChimp's SmartTests are standard Playwright scripts. This means:
TestChimp's SmartTests are standard Playwright scripts. This means:
Run in CI using the Playwright runner you already trust
Run in CI using the Playwright runner you already trust
Run in CI using standard Playwright runner
Fast & Scalable, unlike pure-agentic tests
Fast & Scalable, unlike pure-agentic tests
Maintainable, with no vendor lock-in
Maintainable, with no vendor lock-in
import { test, expect } from '@playwright/test'; import {ai} from 'ai-wright'; test('userMessagingFlow', async ({ page}) => { await page.signin(url); await ai.act("Close spalsh screen if present"); await page.getByText("Upgrade now").click(); await ai.verify("Free trial notice is present");
import { test, expect } from '@playwright/test'; import {ai} from 'ai-wright'; test('userMessagingFlow', async ({ page}) => { await page.signin(url); await ai.act("Close spalsh screen if present"); await page.getByText("Upgrade now").click(); await ai.verify("Free trial notice is present");
ai.verify("No error messages");
ai.verify("No error messages");
ai.act("Close cookie modal");
ai.act("Close cookie modal");
ai.act("Close cookie modal");
import { test, expect } from '@playwright/test'; import {ai} from 'ai-wright'; test('userMessagingFlow', async ( { page, browser, context }) => { var url = process.env.BASE_URL; var username = process.env.USERNAME; await page.goto(url); // @Screen: Login await page.getByLabel('Email').fill(username); await page.getByLabel('Password').fill('...'); // Click on login button await page.getByRole('button').click(); // @Screen: Dashboard await page.getByText('Messages').waitFor();
import { test, expect } from '@playwright/test'; import {ai} from 'ai-wright'; test('userMessagingFlow', async ( { page, browser, context }) => { var url = process.env.BASE_URL; var username = process.env.USERNAME; await page.goto(url); // @Screen: Login await page.getByLabel('Email').fill(username); await page.getByLabel('Password').fill('...'); // Click on login button await page.getByRole('button').click(); // @Screen: Dashboard await page.getByText('Messages').waitFor();
Mix Plain English Steps in Scripts
Use AI only where scripted steps become brittle with ai.act, ai.verify.
Use AI only where scripted steps become brittle with ai.act, ai.verify.
Easier authoring for complex flows
Easier authoring for complex flows
Less brittle tests
Less brittle tests
Retain the speed of scripts, with agentic flexibility
Retain the speed of scripts, with agentic flexibility
Speed of scripts, with agentic flexibility
No Code Editor - Full Code Power
Create and edit tests visually - without breaking the underlying Playwright
Enable non-technical teammates to contribute to automation
Enable non-technical teammates to contribute to automation
build tests easily without wrangling with code syntax
build tests easily without wrangling with code syntax
Switch between full code and no-code - all in the same repo
Switch between full code and no-code - all in the same repo
Speed of scripts, with agentic flexibility


QA Intelligence, Driven by Code Comments
QA Intelligence, Driven by Code Comments
QA Intelligence -
Driven by Code Comments
Link tests to scenarios directly in code via comments - making them agent friendly
Link tests to scenarios directly in code via comments - making them agent friendly
Avoid juggling between multiple tools and spreadsheets to get coverage insights
Avoid juggling between multiple tools and spreadsheets to get coverage insights
// @Screen: Dashboard
// @Screen: Dashboard
// @Scenario: checkout success
// @Scenario: checkout success
import { test, expect } from '@playwright/test'; import {ai} from 'ai-wright'; test('userMessagingFlow', async ( { page, browser, context }) => { var url = process.env.BASE_URL; var username = process.env.USERNAME; await page.goto(url); // @Screen: Login await page.getByLabel('Email').fill(username); await page.getByLabel('Password').fill('...'); // Click on login button await page.getByRole('button').click(); // @Screen: Dashboard await page.getByText('Messages').waitFor();
import { test, expect } from '@playwright/test'; import {ai} from 'ai-wright'; test('userMessagingFlow', async ( { page, browser, context }) => { var url = process.env.BASE_URL; var username = process.env.USERNAME; await page.goto(url); // @Screen: Login await page.getByLabel('Email').fill(username); await page.getByLabel('Password').fill('...'); // Click on login button await page.getByRole('button').click(); // @Screen: Dashboard await page.getByText('Messages').waitFor();
import { test, expect } from '@playwright/test'; import {ai} from 'ai-wright'; test('userMessagingFlow', async ( { page, browser, context }) => { var url = process.env.BASE_URL; var username = process.env.USERNAME; await page.goto(url); // @Screen: Login await page.getByLabel('Email').fill(username); await page.getByLabel('Password').fill('...'); // Click on login button await page.getByRole('button').click(); // @Screen: Dashboard await page.getByText('Messages').waitFor();
Author with ease
From manual test steps
Record your manual tests with our Chrome Extension to generate automation scripts
Upload existing scripts
Sync your existing playwright test folder or upload your tests directly.
Frequently Asked Questions
How are SmartTests different from plain Playwright scripts?
Traditional scripts can be brittle and flaky for complex interactions. TestChimp augments them with AI-native steps when needed, enabling agent step-in on demand, while keeping tests deterministic and maintainable by being script-first.
Why not rely entirely on agentic testing?
Pure agentic tests are slow (20ms for a script step vs 20s for an agentic step) and non-deterministic, making them not scalable. TestChimp provides a middle ground alternative of including AI-native steps in your existing scripts - retaining maintainability and speed.
How do AI-native steps work inside a test?
Simply say “ai.act(‘do X’)”; The agent steps in, looks at the screen, and decides the action to do based on the english description.
How are executions linked back to test plans?
Each test can reference scenarios in your test plans with a simple comment, allowing execution results, failures, and regressions to map directly back to planned coverage. This removes the need for manually maintained sheets, and makes traceability baked in to the code itself.
How does SmartTests help in Exploratory testing?
Exploratory agents are run using SmartTests as a GPS to guide the agent. This enables controlled navigation, measurable coverage and accurate attribution. // @screen annotations in the code helps agents to tag bugs found aligned with your app structure.
Is this suitable for large, CI-driven test suites?
Yes - SmartTests are just plain Playwright tests, so you can use your existing test runner. AI native step capability is available as an npm library that can be installed so your scripts can continue to run in CI.
Frequently Asked Questions
How are SmartTests different from plain scripts?
Traditional scripts can be brittle and flaky for complex interactions. TestChimp augments them with AI-native steps when needed, enabling agent step-in on demand, while keeping tests deterministic and maintainable by being script-first.
Why not rely entirely on agentic testing?
Pure agentic tests are slow (20ms for a script step vs 20s for an agentic step) and non-deterministic, making them not scalable. TestChimp provides a middle ground alternative of including AI-native steps in your existing scripts - retaining maintainability and speed.
How do AI-native steps work inside a test?
Simply say “ai.act(‘do X’)”; The agent steps in, looks at the screen, and decides the action to do based on the english description.
How are executions linked back to test plans?
Each test can reference scenarios in your test plans with a simple comment, allowing execution results, failures, and regressions to map directly back to planned coverage. This removes the need for manually maintained sheets, and makes traceability baked in to the code itself.
How does SmartTests help in Exploratory testing?
Exploratory agents are run using SmartTests as a GPS to guide the agent. This enables controlled navigation, measurable coverage and accurate attribution. // @screen annotations in the code helps agents to tag bugs found aligned with your app structure.
Is this suitable for large, CI-driven test suites?
Yes - SmartTests are just plain Playwright tests, so you can use your existing test runner. AI native step capability is available as an npm library that can be installed so your scripts can continue to run in CI.
Upgrade Your QA Platform Today.
Get In Touch
Email:
contact@testchimp.io
Phone:
+61 434 336 795
Get In Touch
Email:
contact@testchimp.io
Phone:
+61 434 336 795

TestChimp
QA Platform Purpose Built for Humans-Agent Hybrid Teams