Open Source · TypeScript · Python · Java

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.

1

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.

2

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.

3

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 sample

Python 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 issue

Filter by Language & Framework

Every issue is auto-labeled by language (TypeScript / Python / Java) and framework (Playwright Test / pytest / JUnit 5 / TestNG).

Browse labels

We 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.