Selectors break.
Self-healing tests don't.
TAMASH-Playwright is plug-and-play self-healing for Playwright. When a locator can't find its element, it asks an AI model to locate it on the current page and retries. If it succeeds, your test keeps going. If not, it fails normally — just like before. Every attempt is fully logged: provider, selector suggested, token cost.
How It Works
One import swap. No new framework.
Your tests run exactly as you wrote them. TAMASH-Playwright only steps in the moment a locator would otherwise fail.
A locator fails
The page changed — a button got renamed or moved — and stock Playwright can't find the element anymore, even though the app still works fine for real users.
AI locates it
TAMASH-Playwright captures an accessibility/ARIA snapshot of the current page and sends it to your configured AI provider, asking it to find the described element.
Heal and continue
If the model finds a match, the locator is healed and the test continues. If not, it fails normally. Every attempt — healed or not — is logged with an HTML report.
Quick Start
One library. Three languages.
Same self-healing behavior, native to how you already write tests — Playwright Test, pytest, or JUnit 5.
TypeScript
npm · Playwright Test
npm install tamash-playwright
npx playwright install
- import { test } from '@playwright/test';
+ import { test } from 'tamash-playwright';
Working example
Python
PyPI · pytest + pytest-playwright
pip install tamash-playwright
playwright install chromium
page.locator('input[name="user"]')
.describe("User Name Textbox")
Working example
Java
Maven Central · JUnit 5
<dependency>
<groupId>io.github.qtpsudhakarproducts</groupId>
<artifactId>tamash-playwright</artifactId>
</dependency>
mvn test
Working example
Supported AI Providers
Pick whatever fits your budget
Configuration is via environment variables, typically loaded from a .env file, in every language binding.
Ollama
Free, runs locally (or Ollama Cloud) — good default for trying things out.
OpenAI
Requires an OpenAI API key.
Anthropic
Requires an Anthropic API key.
Gemini
Requires a Google Gemini API key.
Why Teams Switch
Free to use — including commercially
Everyone wants tests that survive UI changes. Nobody wants to rewrite a suite every time a button moves.
Stock Playwright
- A moved or renamed element breaks the locator
- The test fails even though the app works fine for users
- Someone has to notice, debug, and fix the selector
- No visibility into which selectors are fragile
With TAMASH-Playwright
- A locator failure triggers an AI-assisted retry, automatically
- Heals and continues when the model finds a match
- Falls back to a normal failure when it can't — no false positives
- Every attempt logged: provider, model, selector, token cost, HTML report
- One import swap — your tests stay exactly as you wrote them
Samples & Support
See it wired into a real framework
Sample implementations for every language, plus where to raise bugs, feature requests, or support questions.
Sample Implementations
Direct-locator and Page Object Model styles for TypeScript, Python, and Java — wired into real test suites.
TypeScript samplePython sample
Java sample
Bugs & Feature Requests
All support is handled through GitHub Issues. Pick the template that matches: bug report, feature request, or support request.
Open an issueFilter by Language & Framework
Every issue is auto-labeled by language (TypeScript / Python / Java) and framework (Playwright Test / pytest / JUnit 5 / TestNG).
Browse labelsWe automate for the future.
It should survive future changes.
Install it for free in TypeScript, Python, or Java, and try it against your own broken locators today.