AI-driven UI automation testing framework with pluggable platform adapters.
Project description
vibe-tester
AI-driven UI automation testing for desktop and web apps — Cucumber-style tests, pluggable platform adapters, ships with the AI assets your coding agent needs to author and run them.
Status: alpha. Public API may change. The windows-desktop and
web adapters are implemented; the macos adapter is a stub.
What it does
- Lets you describe a UI test in natural language (in Copilot
Chat, Claude CLI, Cursor, …) and generates a runnable Gherkin
.featurefile using real element locators from your project's element store. - Executes scenarios at any granularity (one feature, all of them, or a tag expression) and produces a Markdown report plus optional JSON output for the AI to parse.
- Walks your app interactively with you to record UI element paths into a YAML store the executor can resolve.
The framework ships AI assets (agents, skills, an AGENTS.md
template) and a deterministic CLI (vibe-tester). It does not
embed an LLM and does not run an MCP server — your AI tool of choice
provides the intelligence, the CLI is the integration surface.
Docs
This README stays focused on getting started. Everything else — architecture, how-tos, contributor rules, and the shipped-assets catalog — is indexed from doc/README.md.
If you are editing shipped AI files, keep them role-pure: agents are logic/process, skills are knowledge/reference, and assets are copied as data.
Install
# default — every adapter that ships today
pip install vibe-tester
# pick one (smaller install)
pip install vibe-tester[windows-desktop]
# pick several
pip install vibe-tester[windows-desktop,web]
| Extra | Drives | Status |
|---|---|---|
windows-desktop |
WinUI3 / Win32 / WPF / WebView2 / tray / shell menu | Implemented |
web |
Browser SUTs (Playwright) | Implemented |
macos |
macOS-native SUTs | Stub |
Quickstart
# 1. Create a fresh test project (or scaffold into an existing folder)
mkdir my-app-tests
cd my-app-tests
vibe-tester init
# 2. Capture your SUT (interactive — your app should be running)
vibe-tester collect
# 3. Ask your AI agent (Copilot Chat / Claude CLI / …) to write a test:
# "Write a smoke test that opens Settings and verifies the title."
# 4. Run it
vibe-tester run
CLI reference
| Command | What it does |
|---|---|
vibe-tester init [--target] [--adapter] [--overwrite] [--json] |
Scaffold a project from shipped assets |
vibe-tester list adapters [--json] |
Show installed adapters |
vibe-tester list features [--json] |
List .feature files |
vibe-tester list elements [--details] [--json] |
Print the project's element vocabulary |
vibe-tester collect [--name] [--kind] |
Interactive element capture |
vibe-tester run [--feature|--tag] [--scenario] [--json] |
Execute behave + emit Markdown / JSON report |
All commands accept --json for machine-readable output (intended for
the AI agent to parse). Default output is human-friendly Rich tables
and Markdown reports under ./results/.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vibe_tester-0.1.0rc4.tar.gz.
File metadata
- Download URL: vibe_tester-0.1.0rc4.tar.gz
- Upload date:
- Size: 178.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b7f1ad97fec17ae4a6f5be7ad5231bdc57e95a426853170e001664ea29436ff
|
|
| MD5 |
6f6ed33c16aa7c0e4f5331f57ba836e3
|
|
| BLAKE2b-256 |
1f38d3cefdff3ff282acc8a201a37f20737213f4fdb950f5ab6ba157895f6b25
|
File details
Details for the file vibe_tester-0.1.0rc4-py3-none-any.whl.
File metadata
- Download URL: vibe_tester-0.1.0rc4-py3-none-any.whl
- Upload date:
- Size: 194.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6269ae5a7e5427f76b9be2ca721a79f24b74583fd999e4af5778d37928e319e
|
|
| MD5 |
f2ca74e7a888778c2f610c43c81fb1f4
|
|
| BLAKE2b-256 |
f2209be76867d4a905653fbf0b6909e2d410202be147e12d5311ad5b59452b89
|