loading…
Search for a command to run...
loading…
Enables AI-driven mobile test automation through planning, generation, and self-healing agents for Android and iOS, exposed as callable MCP tools.
Enables AI-driven mobile test automation through planning, generation, and self-healing agents for Android and iOS, exposed as callable MCP tools.
Mobile testing, mobile automation, mobile QA, and mobile test automation framework powered by AI agents and MCP tooling.
This repository provides an AI-powered framework for mobile testing and mobile test automation (plus web validation) using:
The framework is designed to accelerate mobile test authoring, improve test stability, and provide an extensible baseline for AI-assisted mobile QA workflows.
The automation stack runs against Android and iOS app binaries/devices. In practice, this means support is based on platform runtime behavior rather than only the app framework.
| Native app development framework | Support status | Notes |
|---|---|---|
| Android native (Kotlin/Java) | Supported | Run with the Android Mobilewright flow (npm run test:android / Android orchestrator). |
| iOS native (Swift/Objective-C) | Supported | Run with the iOS Mobilewright flow (npm run test:ios / iOS orchestrator). |
| React Native | Supported (via Android/iOS builds) | Test the compiled Android/iOS app using platform-specific selectors and flows. |
| Flutter | Supported (via Android/iOS builds) | Works through generated native app binaries on Android/iOS devices/simulators. |
| .NET MAUI / Xamarin | Supported (via Android/iOS builds) | Use Android/iOS pipelines after producing platform app builds. |
| Ionic / Cordova / Capacitor | Supported (via Android/iOS builds) | Treat as mobile app binaries; use web-context selectors where applicable. |
Notes:
For a fast web-ready setup:
npm install && npx playwright install chromium
Then run the default web test:
npm run test:web
Optional environment setup:
cp .env.example .env
On Windows PowerShell:
Copy-Item .env.example .env
Useful checks:
npm run doctor
npm run devices
Mobile-App-Testing-AI-Agent-MCP-Server/
├── agents/
│ ├── planner.js
│ ├── generator.js
│ └── healer.js
├── mcp/
│ └── server.js
├── orchestrators/
│ ├── android-orchestrator.js
│ └── ios-orchestrator.js
├── tests/
│ ├── generated/
│ └── uselessweb/
│ ├── uselessweb.spec.js
│ ├── uselessweb-android.test.js
│ └── uselessweb-ios.test.js
├── plans/
│ └── uselessweb-org--web-test-plan.md
├── reports/
├── mobilewright.config.js
├── playwright.config.js
├── .env.example
└── package.json
npm run test:web
npm run test:mobile-chrome
npm run test:mobile-safari
npm run test:android
npm run test:ios
npm run agent:planner
npm run agent:planner:android
npm run agent:planner:ios
Direct CLI example:
node agents/planner.js --url=https://uselessweb.org/ --platform=web --out=plans/
npm run agent:generator
npm run agent:generator:android
npm run agent:generator:ios
Direct CLI example:
node agents/generator.js --plan=plans/uselessweb-org--web-test-plan.md --platform=web --out=tests/generated/
npm run agent:healer
npm run agent:healer:android
npm run agent:healer:ios
Direct CLI example:
node agents/healer.js --spec=tests/uselessweb/uselessweb.spec.js --platform=web --retries=3
Use this flow when you want to create tests for a new target URL in your mobile QA process.
node agents/planner.js --url=https://uselessweb.org --platform=android --out=plans/
node agents/generator.js --plan=plans/example-com-android-test-plan.md --platform=android --out=tests/generated/
npx mobilewright test tests/generated/example-com-android-test-plan.test.js
node agents/healer.js --spec=tests/generated/example-com-android-test-plan.test.js --platform=android --retries=3
node agents/planner.js --url=https://uselessweb.org --platform=ios --out=plans/
node agents/generator.js --plan=plans/example-com-ios-test-plan.md --platform=ios --out=tests/generated/
npx mobilewright test tests/generated/example-com-ios-test-plan.test.js
node agents/healer.js --spec=tests/generated/example-com-ios-test-plan.test.js --platform=ios --retries=3
npm run orchestrate:android -- --url=https://uselessweb.org --retries=3
npm run orchestrate:ios -- --url=https://uselessweb.org --retries=3
npm run orchestrate:android
npm run orchestrate:ios
npm run pipeline:web
This executes Planner -> Generator -> Healer for web.
For end-to-end mobile test automation on each platform:
npm run orchestrate:android
npm run orchestrate:ios
npm run mcp:start
The server runs on stdio and exposes tools including:
npm run mcp:inspect
Use this in an MCP-capable client configuration file:
{
"mcpServers": {
"mobile-testing-ai-agent": {
"command": "node",
"args": ["mcp/server.js"],
"cwd": "."
}
}
}
This repository now includes a CI/CD workflow at .github/workflows/ci-cd.yml.
CI behavior:
CD behavior:
To enable deployment, add this repository secret:
Contributions are welcome. Please follow the workflow below:
This project is built on top of the excellent Mobilewright ecosystem.
Special thanks to the Mobilewright maintainers and contributors for enabling practical mobile automation workflows across Android and iOS.
ISC
Mobile test automation is the practice of using tools and scripts to validate mobile apps and mobile web experiences automatically across Android and iOS.
This project supports mobile QA with AI-driven planning, test generation, and self-healing execution, plus Android and iOS orchestration flows.
Yes. It is built for teams that need scalable mobile automation, repeatable test pipelines, and faster feedback cycles for releases.
This framework focuses on practical workflows for mobile testing, mobile automation, mobile QA, and mobile test automation.
If you have any questions:
Response time: Typically 24-48 hours
New to open source? No problem! Look for issues tagged with good-first-issue or help-wanted. We provide mentorship and guidance to help you succeed.
Thank you for making test automation better for everyone! 🚀
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"mobile-testing-ai-agent-mcp-server": {
"command": "npx",
"args": []
}
}
}