Skip to main content
Glama
padmarajnidagundi

Mobile Testing AI Agent MCP Server

MCP-сервер AI-агента для мобильного тестирования и автоматизации

Мобильное тестирование, мобильная автоматизация, мобильный QA и фреймворк для автоматизации мобильного тестирования на базе ИИ-агентов и инструментов MCP.

Обзор проекта: мобильное тестирование, мобильная автоматизация и мобильный QA

Этот репозиторий предоставляет фреймворк на базе ИИ для мобильного тестирования и автоматизации мобильного тестирования (плюс проверка веб-сайтов) с использованием:

  • Агент планирования: исследует целевое приложение или сайт и создает структурированный план тестирования в формате Markdown для мобильного QA.

  • Агент генерации: преобразует план тестирования Markdown в исполняемые тесты Playwright или Mobilewright для рабочих процессов мобильной автоматизации.

  • Агент восстановления: запускает тесты, обнаруживает сбои и пытается выполнить циклы автоматического восстановления для повышения стабильности автоматизации мобильного тестирования.

  • Оркестраторы Android и iOS: запускают Planner -> Generator -> Healer в качестве сквозных конвейеров для каждой платформы и жизненного цикла мобильного тестирования.

  • MCP-сервер: предоставляет фреймворк в виде вызываемых инструментов MCP через stdio для ИИ-клиентов и платформ автоматизации.

Фреймворк разработан для ускорения написания мобильных тестов, повышения стабильности тестов и обеспечения расширяемой базы для рабочих процессов мобильного QA с поддержкой ИИ.

Быстрая настройка для автоматизации мобильного тестирования (одна команда)

Для быстрой настройки веб-тестирования:

npm install && npx playwright install chromium

Затем запустите веб-тест по умолчанию:

npm run test:web

Дополнительная настройка окружения:

cp .env.example .env

В Windows PowerShell:

Copy-Item .env.example .env

Зависимости для мобильной автоматизации и мобильного QA

Обязательно

  • Node.js 18+

  • npm 9+

  • Браузер Playwright Chromium

Основные NPM-пакеты

  • mobilewright

  • @playwright/test

  • playwright

  • @modelcontextprotocol/sdk

  • zod

  • openai

  • dotenv

  • fs-extra

  • chalk

  • axios

  • cheerio

Предварительные требования к платформе

Веб

  • Дополнительная настройка после установки зависимостей и Chromium не требуется.

Android

  • Установлен Android SDK

  • ADB доступен в PATH

  • Настроен ANDROID_HOME

  • Подключено хотя бы одно устройство Android или эмулятор

Полезные проверки:

npm run doctor
npm run devices

iOS

  • Хост macOS для локальной автоматизации iOS

  • Xcode + Command Line Tools

  • Запущенный симулятор iOS (или совместимый облачный провайдер мобильных устройств)

Структура репозитория для проектов мобильного тестирования

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

За что отвечает каждая область в мобильном тестировании и автоматизации

  • agents: реализации ИИ-агентов для планирования, генерации и восстановления в конвейерах автоматизации мобильного тестирования.

  • mcp: stdio MCP-сервер, предоставляющий инструменты планировщика, генератора, восстановителя и оркестратора.

  • orchestrators: платформо-зависимые исполнители конвейеров для мобильной автоматизации Android и iOS.

  • tests: исполняемые спецификации, включая сгенерированные тесты и отобранные примеры для мобильного QA.

  • plans: планы тестирования в формате Markdown, используемые в качестве исходных данных для генерации кода.

  • reports: артефакты выполнения мобильного тестирования и восстановления.

Руководство по использованию для мобильного тестирования и мобильного QA

1. Запуск набора веб-тестов

npm run test:web

2. Запуск проектов мобильных видовых экранов в Playwright (мобильное тестирование)

npm run test:mobile-chrome
npm run test:mobile-safari

3. Запуск тестов Mobilewright для Android или iOS для мобильной автоматизации

npm run test:android
npm run test:ios

4. Использование отдельных ИИ-агентов

Планировщик

npm run agent:planner
npm run agent:planner:android
npm run agent:planner:ios

Пример прямого CLI:

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

Пример прямого CLI:

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

Пример прямого CLI:

node agents/healer.js --spec=tests/uselessweb/uselessweb.spec.js --platform=web --retries=3

5. Добавление нового теста с агентами Android и iOS (процесс автоматизации мобильного тестирования)

Используйте этот процесс, если хотите создать тесты для нового целевого URL в вашем процессе мобильного QA.

Процесс агента Android (планирование -> генерация -> запуск -> восстановление)

  1. Создайте план тестирования Android:

node agents/planner.js --url=https://uselessweb.org --platform=android --out=plans/
  1. Сгенерируйте тесты Android из плана:

node agents/generator.js --plan=plans/example-com-android-test-plan.md --platform=android --out=tests/generated/
  1. Запустите сгенерированный тест Android:

npx mobilewright test tests/generated/example-com-android-test-plan.test.js
  1. Автоматически восстановите сбойные тесты Android:

node agents/healer.js --spec=tests/generated/example-com-android-test-plan.test.js --platform=android --retries=3

Процесс агента iOS (планирование -> генерация -> запуск -> восстановление)

  1. Создайте план тестирования iOS:

node agents/planner.js --url=https://uselessweb.org --platform=ios --out=plans/
  1. Сгенерируйте тесты iOS из плана:

node agents/generator.js --plan=plans/example-com-ios-test-plan.md --platform=ios --out=tests/generated/
  1. Запустите сгенерированный тест iOS:

npx mobilewright test tests/generated/example-com-ios-test-plan.test.js
  1. Автоматически восстановите сбойные тесты iOS:

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

6. Запуск конвейеров оркестрации для мобильной автоматизации

Конвейер Android

npm run orchestrate:android

Конвейер iOS

npm run orchestrate:ios

7. Запуск полного веб-конвейера ИИ

npm run pipeline:web

Это выполняет Planner -> Generator -> Healer для веба.

7b. Запуск полных конвейеров мобильного QA

Для сквозной автоматизации мобильного тестирования на каждой платформе:

npm run orchestrate:android
npm run orchestrate:ios

8. Запуск MCP-сервера

npm run mcp:start

Сервер работает через stdio и предоставляет инструменты, включая:

  • health_check

  • run_planner

  • run_generator

  • run_healer

  • run_orchestrator

  • list_repo_commands

9. Локальная проверка инструментов MCP

npm run mcp:inspect

10. Пример конфигурации клиента MCP

Используйте это в файле конфигурации клиента, поддерживающего MCP:

{
   "mcpServers": {
      "mobile-testing-ai-agent": {
         "command": "node",
         "args": ["mcp/server.js"],
         "cwd": "."
      }
   }
}

11. CI/CD конвейер (GitHub Actions)

Этот репозиторий теперь включает рабочий процесс CI/CD в .github/workflows/ci-cd.yml.

Поведение CI:

  • Запускается при пушах в main и pull-запросах, направленных в main.

  • Устанавливает зависимости с помощью npm ci.

  • Устанавливает Playwright Chromium.

  • Выполняет веб-набор с помощью npm run test:web.

  • Загружает артефакты отчетов Playwright, если они доступны.

Поведение CD:

  • Запускается после CI при пушах в main.

  • Запускает развертывание только в том случае, если DEPLOY_WEBHOOK_URL настроен как секрет репозитория.

  • Безопасно пропускает развертывание, если секрет не установлен.

Чтобы включить развертывание, добавьте этот секрет репозитория:

  • DEPLOY_WEBHOOK_URL

Вклад в мобильное тестирование и мобильную автоматизацию

Вклад приветствуется. Пожалуйста, следуйте приведенному ниже рабочему процессу:

  1. Сделайте форк репозитория.

  2. Создайте ветку функции из main.

  3. Сохраняйте изменения сфокусированными и четко определенными.

  4. Добавляйте или обновляйте тесты для нового поведения.

  5. Выполните соответствующие проверки перед открытием PR:

    • npm run test:web

    • npm run test:all

    • npm run doctor (для мобильных сред)

  6. Откройте pull-запрос с:

    • четким описанием проблемы

    • кратким изложением реализации

    • доказательством проверки (логи, вывод тестов, скриншоты, где это полезно)

Рекомендации по внесению вклада

  • Предпочитайте небольшие, проверяемые pull-запросы.

  • Избегайте несвязанных рефакторингов в одном PR.

  • Сохраняйте соглашения об именовании скриптов и папок.

  • Документируйте новые команды и поведение агентов в этом README.

Благодарности

Этот проект построен на базе отличной экосистемы Mobilewright.

Особая благодарность сопровождающим и участникам Mobilewright за обеспечение практических рабочих процессов мобильной автоматизации для Android и iOS.

Лицензия

ISC

Часто задаваемые вопросы о мобильном тестировании (SEO)

Что такое автоматизация мобильного тестирования?

Автоматизация мобильного тестирования — это практика использования инструментов и скриптов для автоматической проверки мобильных приложений и мобильных веб-интерфейсов на Android и iOS.

Как этот репозиторий помогает в мобильном QA?

Этот проект поддерживает мобильный QA с помощью планирования на базе ИИ, генерации тестов и выполнения самовосстановления, а также процессов оркестрации Android и iOS.

Подходит ли это для команд мобильной автоматизации?

Да. Он создан для команд, которым нужна масштабируемая мобильная автоматизация, повторяемые конвейеры тестирования и более быстрые циклы обратной связи для релизов.

На какие ключевые слова мобильного тестирования ориентирован этот фреймворк?

Этот фреймворк фокусируется на практических рабочих процессах для мобильного тестирования, мобильной автоматизации, мобильного QA и автоматизации мобильного тестирования.

Есть вопросы?

Если у вас есть вопросы:

  • 💬 Откройте GitHub Discussion

  • 🐛 Сообщайте об ошибках через GitHub Issues

  • 📧 Email: padmaraj dot nidagundi at gmail.com

Время ответа: Обычно 24-48 часов


Приветствуем новых участников! 👋

Новичок в open source? Нет проблем! Ищите задачи с тегами good-first-issue или help-wanted. Мы предоставляем наставничество и руководство, чтобы помочь вам добиться успеха.

Спасибо, что делаете автоматизацию тестирования лучше для всех! 🚀

F
license - not found
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/padmarajnidagundi/Mobile-App-Testing-AI-Agent-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server