Yapay zeka ajanlarının ekranı okuyarak, dokunma hareketleri gerçekleştirerek ve CI ortamında test akışlarını yeniden oynatarak iOS Simulator ile etkileşime girmesine olanak tanır.
Ayrıca bilinen adı valewnrt/testa, @valewnrt/testa-mcp
- Yıldızlar
- 3
- Araçlar
- —
- İndirmeler, 30 gün
- —
- En son sürüm
- 0.2.2
- Son commit
- 8 Eki 2026
- Lisans
- MIT
Testa MCP nedir?
Testa bir MCP sunucusudur. Yapay zeka ajanlarının ekranı okuyarak, dokunma hareketleri gerçekleştirerek ve CI ortamında test akışlarını yeniden oynatarak iOS Simulator ile etkileşime girmesine olanak tanır.
Özet, projenin README dosyasından oluşturuldu
Testa MCP sunucusu hakkında
Testa, yapay zeka ajanlarına macOS üzerindeki iOS Simulator ile doğrudan etkileşime girme yeteneği sağlar. Claude Code, Cursor veya Codex gibi istemcilere mobil arayüzleri görme ve manipüle etme kapasitesi veren bir MCP server olarak işlev görür. Araç, erişilebilirlik ağacını okuyarak ve ekranları yorumlamak için Apple Vision OCR kullanarak çalışır; bu sayede herhangi bir kod değişikliği veya özel test tanımlayıcıları gerektirmeden React Native, Expo veya SwiftUI uygulamaları üzerinde işlem yapabilir.
Kullanıcılar sunucuyu Xcode çalıştıran bir Mac üzerinde Homebrew aracılığıyla kurarlar. Yapılandırıldıktan sonra bir ajan; dokunma, yazma, kaydırma veya cihazı döndürme gibi karmaşık görevleri yerine getirebilir. Sistem, ekranları ağır görseller yerine kompakt metinler olarak temsil ederek LLM token bütçeleri için verimli olacak şekilde tasarlanmıştır. Geliştiriciler ayrıca ajan eylemlerini akış dosyalarına kaydedebilir ve bunları bir GitHub Action kullanarak CI ortamlarında yeniden oynatabilirler; bu yöntem, yürütme sırasında canlı bir modele ihtiyaç duymadan JUnit çıktısı ve hata kanıtları sağlar.
Neler yapabilirsiniz
- 1Otomatik UI testiBir ajandan bir uygulamayı başlatmasını ve belirli bir kullanıcı kayıt akışını tamamlamasını isteyin.
- 2Kod değişikliği yapmadan test etmeÖnceden tanımlanmış test tanımlayıcılarına sahip olmayan ekranlarda uygulama davranışını doğrulayın.
- 3Sürekli Entegrasyon (CI) yeniden oynatmaKararlılığı sağlamak için daha önce kaydedilmiş ajan etkileşimlerini bir CI hattında çalıştırın.
- 4Karmaşık hareket simülasyonuBir yapay zekaya öğeleri sıkıştırma veya sürükleme gibi çoklu dokunma etkileşimleri yapması talimatını verin.
Projenin README dosyasından alınmıştır. Her kullanım durumu, oradaki bir alıntı ile kontrol edilir.
Testa MCP nasıl yüklenir
Biçimler 10 Kas 2026 tarihinde doğrulandıCursor'a ekleGoose'a ekleTesta MCP'yi Claude Code içine yükleyin
$ claude mcp add testa -- npx -y @valewnrt/testa-mcpTesta MCP'yi Cursor içine yükleyin
~/.cursor/mcp.json
{
"mcpServers": {
"testa": {
"command": "npx",
"args": [
"-y",
"@valewnrt/testa-mcp"
]
}
}
}Testa MCP'yi VS Code içine yükleyin
.vscode/mcp.json
{
"servers": {
"testa": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@valewnrt/testa-mcp"
]
}
}
}Testa MCP'yi VS Code CLI içine yükleyin
$ code --add-mcp '{"name":"testa","type":"stdio","command":"npx","args":["-y","@valewnrt/testa-mcp"]}'Testa MCP'yi Claude Desktop içine yükleyin
claude_desktop_config.json
{
"mcpServers": {
"testa": {
"command": "npx",
"args": [
"-y",
"@valewnrt/testa-mcp"
]
}
}
}Testa MCP'yi Codex içine yükleyin
$ codex mcp add testa -- npx -y @valewnrt/testa-mcpTesta MCP'yi Codex config.toml içine yükleyin
~/.codex/config.toml
[mcp_servers.testa] command = "npx" args = ["-y", "@valewnrt/testa-mcp"]
Testa MCP'yi Gemini CLI içine yükleyin
$ gemini mcp add -s user testa npx -- -y @valewnrt/testa-mcpTesta MCP'yi Gemini settings.json içine yükleyin
~/.gemini/settings.json
{
"mcpServers": {
"testa": {
"command": "npx",
"args": [
"-y",
"@valewnrt/testa-mcp"
]
}
}
}Yapılandırma
TESTA_MCP_FULLSet to 1 to expose all 40 tools instead of the 13-tool token-lean default.
TESTA_UDIDTarget a specific simulator UDID instead of the booted one.
| Ad | Açıklama | Sunucu |
|---|---|---|
| TESTA_MCP_FULL | Set to 1 to expose all 40 tools instead of the 13-tool token-lean default. | |
| TESTA_UDID | Target a specific simulator UDID instead of the booted one. |
Otomatik kontroller
Çalıştırıldı 14 Kas 2026Tam rapor →Otomatik kontrollerimizden geçti. Bu bir güvenlik denetimi değildir: kodu okuyun ve sunucuya ihtiyaç duyduğu en dar erişimi verin. Kontroller nasıl çalışır
- Kaynak deposu bağlantılı ve erişilebilirvalewnrt/testa is public and reachablegithub.com/valewnrt/testa ↗Geçti
- Paket, bu depoyu kaynağı olarak gösteriyor@valewnrt/testa-mcp names valewnrt/testa as sourcenpmjs.com/package/@valewnrt/testa-mcp ↗Geçti
- Derleme kökeni (Sigstore onayı)No build attestation published for this releaseKontrol edilmedi
- Açık kaynak lisansı (OSI)MITspdx.org/licenses/MIT.html ↗Geçti
- Son bir yıl içinde commit veya sürüm mevcutLast commit or release 2026-10-08github.com/valewnrt/testa ↗Geçti
- OpenSSF ScorecardKontrol edilmedi
- Paket adı popüler bir pakete yakın değilNo popular package one edit away from @valewnrt/testa-mcpGeçti
- Pakette veya bağımlılıklarında kritik uyarı yok1 resolved dependencies checked; no critical advisoryosv.dev ↗Geçti
- Modele yönelik gizli talimat yok0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersGeçti
- Yıkıcı araçlar etiketlenmişKontrol edilmedi
- Uzak uç nokta MCP el sıkışmasına yanıt veriyorKontrol edilmedi
Testa
Let your AI agent test your iOS app.
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.
Install
Requires macOS with Xcode 26 (iOS 26 simulators).
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:
codex mcp add testa -- testa mcp # Codex
{ "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.
Try it yourself
Testa is a plain CLI, so you can drive it by hand too:
$ 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 →
- 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 →
- Record once, replay in CI.
testa flow recordturns what the agent did into a plain-text flow file.testa flow runreplays it with JUnit output and failure artifacts, and there's a GitHub Action. More → - 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 →
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 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).
Documentation
- Commands: selectors, the observe → act → verify loop, full reference
- Using Testa from an AI agent: MCP setup, tools, token cost
- Testing apps without testIDs
- Flows & CI: flow files, recording, GitHub Action
- How it works · Security model
- How Testa compares to Maestro, Appium, idb and Argent
- Troubleshooting & limitations
Contributing
Bug reports, Xcode-compatibility reports and pull requests are welcome. Start with CONTRIBUTING.md; questions and ideas go to Discussions. Changes are listed in the CHANGELOG.
Acknowledgements
Testa's HID and accessibility work was informed by studying Meta's idb (MIT); no idb code is linked or bundled. Thanks to everyone who has contributed.
License
Testa MCP soruları
Testa MCP'yi Claude Code'a nasıl eklerim?
Terminalinizde claude mcp add testa -- npx -y @valewnrt/testa-mcp komutunu çalıştırın. Her projede kullanılabilir olması için --scope user ekleyin.
Testa MCP'yi Cursor'a nasıl eklerim?
~/.cursor/mcp.json dosyasını açın ve yukarıdaki yükleme bölümünde gösterilen Cursor yapılandırmasını kullanarak sunucuyu mcpServers altına ekleyin.
Testa hangi uygulamaları test edebilir?
Herhangi bir ek testID eklemesine gerek duymadan React Native, Expo ve SwiftUI uygulamalarıyla çalışır.
Testa uygulama kodumda değişiklik yapılmasını gerektirir mi?
Hayır, erişilebilirlik ağacını okur ve sistem sayfaları veya oyunlar gibi ağaçta bulunmayan öğeler için cihaz içi OCR kullanır.
Bu testleri bir CI ortamında çalıştırabilir miyim?
Evet, bir ajanın oturumunu bir akış dosyası olarak kaydedebilir ve bir GitHub Action kullanarak CI ortamında yeniden oynatabilirsiniz.
Gerçek Android cihazları destekliyor mu?
Hayır, Testa yalnızca iOS Simulator ile sınırlıdır; gerçek cihazları veya Android'i desteklemez.