Find it. Locate it. Automate it.
Generate Playwright and Selenium code in a few clicks, from any element on a page or any live API call, then check how fast that API responds. No tokens to buy, nothing to install except one Chrome extension.
- Free to try, no card
- No AI tokens or API keys
- Runs in your browser
Less setup, no meter running.
Automation testing is slow when every locator and every assertion is typed by hand. TestMaadu does the repetitive part and leaves the decisions to you.
A few clicks
Pick an element or a request, choose what to check, copy the code. Comments in the output explain each step, so the test reads like a teammate wrote it.
Live API testing on any site
Capture real calls from any site you can open in Chrome, your own staging and local apps included. Generate a test from the exact request and response you saw.
A quick speed check on any API
See how long a call took, where the time went, and get a repeat-run test with a time budget. It is a basic response-time check, not a load test.
No token burn
TestMaadu builds code from what it finds on the page and in the request, using its own rules, inside your browser. There is no AI model to pay for, no API key to paste in and no usage meter.
Positive and negative tests
Get the happy path and the failures: missing or invalid parameters, missing or invalid authentication, and resources that do not exist.
Just a Chrome extension
Nothing else to install or configure. Open the side panel for elements, or Chrome DevTools for API calls and speed checks.
Point at an element. Get the locator and the code.
Find Element works on any page you can open. Click what you want to automate, review the locator, choose an action and copy ready-to-run code.
- A locator with a reasonTestMaadu picks the strongest locator the page supports. “Why this locator?” lists the evidence it used and what was missing.
- Two frameworks, three languagesPlaywright in TypeScript, JavaScript or Python, and Selenium in JavaScript or Python. Switch and the code updates in place.
- Freeze & InspectHold menus, tooltips and other transient elements for 5 seconds so you can select them before they disappear.
- Check it before you copy itVerify on the page runs the chosen action against the live element, with a test value when it needs one.
- Related elements and dropdown optionsDrag and drop, or choose an option from a dropdown. Pick the second element or the option and TestMaadu writes the step.
<button id="sign-in" type="submit">Sign in</button>
- Role
- button
- Accessible name
- Sign in
- Locator strategy
- getByRole
Framework
Language
// Find the "Sign in" button.
const signIn = page.getByRole('button', { name: 'Sign in' });
// Click it.
await signIn.click();
// Check it is visible and enabled.
await expect(signIn).toBeVisible();
await expect(signIn).toBeEnabled();1. Capture: do the action in your app and the call appears here
2. Choose: the kind of test and what to assert
- Missing parameter400
- Invalid parameter400
- Missing authentication401
- Invalid authentication401
- Resource not found404
3. Copy: run-ready Playwright test
test('creates an order', async ({ request }) => {
// Send the request.
const response = await request.post(url, {
data: { sku: 'TM-1042', qty: 2 },
});
// Assert the status code.
expect(response.status()).toBe(201);
});Capture a live API call. Get the test.
Open Chrome DevTools, go to the TestMaadu API Test panel, and use your app as usual. Each call appears as you make it. Pick one and generate a Playwright test from the real request and response.
- Assertions you chooseStatus, content type and key body fields are on by default. Response headers and schema checks are optional. Long lists show five rows with a “Show more” button.
- Positive and negative testsGenerate the baseline test, or pick the failure cases that apply to the request. Each one becomes its own test.
- Secrets stay out of your codeAuthorization headers and cookies become environment-variable references by default. Replaying captured authentication is off until you turn it on.
- Dynamic values, parameterisedIDs and tokens that change between runs are detected, and you choose which ones move to environment variables.
- TypeScript, JavaScript or PythonReadable or compact assertions, whichever suits your suite.
How fast is that API? Check it in two clicks.
In the same DevTools panel, pick any captured call and choose Performance Testing. TestMaadu shows how long that call took and where the time went, then writes a Playwright test that repeats it and checks the response time against a budget you set.
- A response-time snapshot, free to seeTotal time, a split into connection, server wait and download, response size, compression and caching, with plain-language hints. The snapshot stays visible even after your trial ends.
- A repeat-run test with a budgetOne warm-up call, then 5 to 50 measured calls (20 by default). It reports min, median, p95 and max, and fails on errors or when p95 goes over your budget.
- Safe by defaultGET is the default. For POST, PUT, PATCH and DELETE you see a warning and confirm first, because the test repeats the call and could create or change data.
- Secrets stay out of your codeAuthorization headers become environment-variable references, the same as API tests.
- TypeScript, JavaScript or PythonRun it in your own Playwright project, on your machine or in CI.
Not a load test. It makes one call at a time from one machine, so it answers “is this endpoint slow?”, not “can it handle 1,000 users?”.
1. Select a captured call and pick what to do
2. See the snapshot: where the time went
- DNS4 ms
- Connect38 ms
- Server wait214 ms
- Download56 ms
- Response size
- 18.4 KB
- Compression
- gzip ✓
- Caching headers
- None set
- Server-Timing
- Not sent
Most of the time (214 ms) is server wait. The backend is the slow part, not the network.
Example. One sample from your browser and network is a starting point, not a benchmark.
3. Copy: a repeat-run Playwright test
Capture once. Generate anywhere.
The same three steps work for an element on a page, an API call and an API speed check.
Select
Click an element on the page, or perform an action in your app and pick the API call it made. For an API call, choose Generate API Testing or Performance Testing.
Review and choose
TestMaadu shows the locator, the request or the response-time snapshot, and you choose the action, the assertions or the time budget.
Generate and copy
Get Playwright or Selenium code, or a repeat-run performance test, with comments, ready to paste into your project.
In TypeScript, JavaScript and Python.
Your pages and API data stay in your browser.
TestMaadu is built for testing real applications, so it treats what it sees as private.
Generated on your device
Inspecting, locating, timing and writing code all happen in the extension. Pages, API requests, responses, timings and generated code are never sent to us or to anyone else.
No API data saved
Nothing about your API calls is saved to disk or kept in local storage. The call you select sits only in temporary browser memory and is cleared when you refresh the page, close the tab or close the browser.
Only sign-in goes online
The only data that reaches our server is your Google sign-in and whether your trial or lifetime access is active. Read the full Privacy Policy.
Try it first. Pay once, keep it.
Full code from the first click. If you decide to keep TestMaadu, one payment unlocks it for good.
Start right away
1 day, no sign-in
Install the extension and generate full code straight away.
- Find Element, API Automation and API Performance
- Copy enabled
Sign in with Google
3 days, no card
Keep going with a free trial. We use your Google account only to verify it.
- Everything in the first day
- No AI tokens or API keys
Trial lengths are the current settings and can change.
Lifetime access
One-time payment
Keep generating full code in all three tabs, with every future update included.
- Find Element, API Automation and API Performance
- All further updates
- Refunds within 3 days, see the Refund Policy
one time
After the trial, generated code is shown in part and copying is turned off until you unlock lifetime access. The API Performance snapshot stays visible. Pricing details
Add TestMaadu to Chrome.
The extension is the whole product. It adds a side panel for elements, API tests and API performance, and a TestMaadu API Test tab in Chrome DevTools, and it does all the work in your browser.
Works in Google Chrome 114 or newer. Free to try, no card needed.
- Add it from the Chrome Web StoreClick Add to Chrome, then confirm.
- Open it on any pageClick the TestMaadu icon to open the side panel, then choose the Find Element tab and click Select Element.
- Capture an API callPress Ctrl + Shift + I, open the TestMaadu API Test tab and use your app.
- Test it or time itSelect a call, then choose Generate API Testing or Performance Testing.
Questions, answered.
Does TestMaadu use AI, and do I pay for tokens?
No. TestMaadu builds code from what it finds on the page and in the request, using its own rules, inside your browser. There is no AI model to pay for, no API key to paste in and no usage meter.
Does my page or API data leave my browser?
No. Inspected pages, API requests and responses, performance timings and generated code are never sent to us or anyone else. Only your Google sign-in and your trial or lifetime status talk to our server.
Nothing about your API calls is saved to local storage or disk. The call you select is held only in temporary browser memory and is cleared when you refresh the page, close the tab or close the browser. The Privacy Policy has the details.
What does API Performance do? Is it a load test?
No, it is a basic response-time check. The snapshot shows how long one captured call took and where the time went. The generated Playwright test makes one warm-up call, then repeats the call 5 to 50 times (20 by default), one at a time, and fails on errors or when the p95 time goes over your budget.
It runs from your own machine and cannot tell you how the API behaves under many users at once. For that you would need a dedicated load-testing tool.
Is it safe to run the performance test on a POST or DELETE call?
Be careful. The test repeats the call, so a write call can create or change data many times. GET is the default; for POST, PUT, PATCH and DELETE, TestMaadu shows a warning and asks you to confirm before it generates the code. Use a test environment for those.
Which frameworks and languages does it support?
Find Element generates Playwright code in TypeScript, JavaScript and Python, and Selenium code in JavaScript and Python. API Automation and API Performance generate Playwright tests in the same three languages.
Will it work on any website?
On any site you can open in Chrome, including your own staging and local apps. Chrome does not let extensions read a few pages, such as the Chrome Web Store and chrome:// pages, so those cannot be inspected.
Are my API secrets written into the generated code?
Not by default. Authorization headers and cookies become environment-variable references such as process.env.TESTMAADU_AUTHORIZATION. Replaying captured authentication is off until you turn it on, and you choose whether any literal value is included.
Do I need to install anything besides the extension?
No. TestMaadu is a Chrome extension. The code it generates runs in your own Playwright or Selenium project.
What happens when my trial ends?
You can still open TestMaadu, but generated code is shown only in part and copying is turned off until you unlock lifetime access. The API Performance snapshot stays visible. Your account and settings stay as they were.
Can I get a refund?
Yes. Ask within 3 days of buying lifetime access and we will refund you. The Refund Policy explains how.
Which browsers are supported?
Google Chrome 114 or newer, because TestMaadu uses Chrome’s side panel.