Skip to main content
ClaudeWave

Let AI agents test your iOS app in the Simulator — tap, type, swipe and assert, no testIDs needed. CLI + MCP server, zero dependencies.

MCP ServersRegistry oficial3 estrellas1 forks● SwiftMITActualizado today
ClaudeWave Trust Score
95/100
✓ Verified
Passed
  • ✓Open-source license (MIT)
  • ✓Actively maintained (<30d)
  • ✓Clear description
  • ✓Topics declared
  • ✓Documented (README)
Last scanned: 10/9/2026
Install in Claude Code / Claude Desktop
Method: Manual
Claude Code CLI
git clone https://github.com/valewnrt/testa
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Clone https://github.com/valewnrt/testa and follow its README for install instructions.
Casos de uso

Resumen de MCP Servers

<div align="center">

# Testa

**Let your AI agent test your iOS app.**

[![CI](https://github.com/valewnrt/testa/actions/workflows/ci.yml/badge.svg)](https://github.com/valewnrt/testa/actions/workflows/ci.yml)
[![Xcode beta](https://github.com/valewnrt/testa/actions/workflows/xcode-beta.yml/badge.svg)](https://github.com/valewnrt/testa/actions/workflows/xcode-beta.yml)
[![Release](https://img.shields.io/github/v/release/valewnrt/testa)](https://github.com/valewnrt/testa/releases)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)

</div>

Testa gives Claude Code, Codex, Cursor or any MCP client eyes and hands in the
iOS Simulator. It reads the screen as compact text, taps, types and swipes with
real touch events, and checks the result. It works with React Native, Expo and
SwiftUI apps, and you don't have to add a single `testID`. When the agent is
done, save the run as a flow file and replay it in CI without a model.

<p align="center">
  <img src="assets/testa-demo.gif" alt="Terminal running testa tap, pinch, rotate, dragdrop, typein, tapocr and assert next to the iOS Simulator, which reacts to each command" width="720">
</p>

## Install

Requires macOS with Xcode 26 (iOS 26 simulators).

```bash
brew tap valewnrt/testa
brew install testa
testa setup        # installs the Claude Code skill and registers the MCP server
```

Or build from source: `git clone https://github.com/valewnrt/testa && cd testa && ./install.sh`.

## Connect your agent

`testa setup` already configures **Claude Code**. For other agents:

```bash
codex mcp add testa -- testa mcp      # Codex
```

```json
{ "mcpServers": { "testa": { "command": "testa", "args": ["mcp"] } } }
```

The JSON goes into Cursor's `.cursor/mcp.json` or any other MCP client config.
Then ask your agent something like *"Launch the app in the simulator, sign up
with a test account and check that the welcome screen appears."*
More in [docs/agents.md](docs/agents.md).

## Try it yourself

Testa is a plain CLI, so you can drive it by hand too:

```console
$ testa boot "iPhone 17 Pro"
$ testa install ./MyApp.app && testa launch com.example.myapp

$ testa ui
19 elements (on screen)
e2 StaticText "ready" #status @201,89
e5 Button "Tap me" #tapButton @102,171
e18 TextField #textInput =type here @201,601
…

$ testa tap "Tap me"
tapped e5 Button Tap me
-- ui changes --
~ e2 StaticText "tap:1" #status @201,89
~ e6 StaticText "count: 1" #tapCount @41,208

$ testa assert "#status" label=tap:1
PASS label tap:1
```

The first command starts a background daemon (a few seconds, once). After that,
each command takes about 60 ms.

## What makes it different

- **No app changes needed.** Testa reads the accessibility tree and falls back
  to on-device OCR (Apple Vision) for anything that isn't in it: system sheets,
  canvas-drawn screens, games, WebViews. [More →](docs/ocr.md)
- **Built for token budgets.** A screen is one line per element, about 200
  tokens instead of about 1,500 for a screenshot, and every action replies with
  only what changed. [Benchmark →](bench/)
- **Record once, replay in CI.** `testa flow record` turns what the agent did
  into a plain-text flow file. `testa flow run` replays it with JUnit output and
  failure artifacts, and there's a GitHub Action. [More →](docs/flows-and-ci.md)
- **Real gestures and device control.** Tap, long-press, swipe, drag-and-drop,
  pinch, rotate, multi-touch and hardware buttons, plus push notifications,
  location, Face ID, dark mode, Dynamic Type and more.
- **One local binary, no dependencies.** Testa talks to Apple's simulator
  frameworks directly: no Node, no Python, no WebDriver server. No network, no
  telemetry. [How it works →](docs/architecture.md)

## Status

Testa is pre-1.0 and is used against real production apps. It relies on private
Apple frameworks, so a new Xcode can break it; a [weekly job](.github/workflows/xcode-beta.yml)
runs the suite against Xcode betas so breakage shows up early. Verified on Xcode 26.4 with
iOS 26.4 simulators. iOS Simulator only: no real devices, no Android
([why](docs/architecture.md#why-ios-only)).

## Documentation

- [Commands](docs/commands.md): selectors, the observe → act → verify loop, full reference
- [Using Testa from an AI agent](docs/agents.md): MCP setup, tools, token cost
- [Testing apps without testIDs](docs/ocr.md)
- [Flows & CI](docs/flows-and-ci.md): flow files, recording, GitHub Action
- [How it works](docs/architecture.md) · [Security model](docs/security.md)
- [How Testa compares](docs/comparison.md) to Maestro, Appium, idb and Argent
- [Troubleshooting & limitations](docs/troubleshooting.md)

## Contributing

Bug reports, Xcode-compatibility reports and pull requests are welcome. Start
with [CONTRIBUTING.md](CONTRIBUTING.md); questions and ideas go to
[Discussions](https://github.com/valewnrt/testa/discussions). Changes are listed
in the [CHANGELOG](CHANGELOG.md).

## Acknowledgements

Testa's HID and accessibility work was informed by studying Meta's
[idb](https://github.com/facebook/idb) (MIT); no idb code is linked or bundled.
Thanks to everyone who has [contributed](https://github.com/valewnrt/testa/graphs/contributors).

## License

[MIT](LICENSE)
ai-agentsclaudeclaude-codecodexcursore2e-testingexpoiosios-simulatorios-testingmcpmcp-serverocrreact-nativesimulatorswiftswiftuitest-automationui-testingxcode

Lo que la gente pregunta sobre testa

¿Qué es valewnrt/testa?

+

valewnrt/testa es mcp servers para el ecosistema de Claude AI. Let AI agents test your iOS app in the Simulator — tap, type, swipe and assert, no testIDs needed. CLI + MCP server, zero dependencies. Tiene 3 estrellas en GitHub y su última actualización registrada es del 2026-10-08.

¿Cómo se instala testa?

+

Puedes instalar testa clonando el repositorio (https://github.com/valewnrt/testa) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar valewnrt/testa?

+

Nuestro agente de seguridad ha analizado valewnrt/testa y le ha asignado un Trust Score de 95/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.

¿Quién mantiene valewnrt/testa?

+

valewnrt/testa es mantenido por valewnrt. La última actividad registrada en GitHub es del 2026-10-08, con 0 issues abiertos.

¿Hay alternativas a testa?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega testa en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: valewnrt/testa
[![Featured on ClaudeWave](https://claudewave.com/api/badge/valewnrt-testa)](https://claudewave.com/repo/valewnrt-testa)
<a href="https://claudewave.com/repo/valewnrt-testa"><img src="https://claudewave.com/api/badge/valewnrt-testa" alt="Featured on ClaudeWave: valewnrt/testa" width="320" height="64" /></a>

Más MCP Servers

Alternativas a testa