MCP Appium-сервер
Реализация сервера Model Context Protocol (MCP) для автоматизации мобильных приложений с использованием Appium.
Предпосылки
- Node.js (v14 или выше)
- Комплект разработчика Java (JDK)
- Android SDK (для тестирования Android)
- Xcode (для тестирования iOS, только macOS)
- Сервер Appium
- Устройство Android или эмулятор / Устройство iOS или симулятор
Настройка среды
Перед выполнением любых команд убедитесь, что переменные среды настроены правильно:
- Убедитесь, что ваш
.bash_profile
,.zshrc
или другой файл конфигурации оболочки содержит необходимые переменные среды:
- Перед запуском MCP-Appium создайте файл среды:
Примечание : система попытается автоматически получить ваш
.bash_profile
при инициализации драйвера, но рекомендуется вручную убедиться в правильности настройки среды перед запуском тестов в новом сеансе терминала.
Конфигурация инструментов командной строки Xcode
Для тестирования iOS необходима правильная настройка инструментов командной строки Xcode:
- Установите инструменты командной строки Xcode, если они еще не установлены:
- Проверьте установку и текущий путь Xcode:
- При необходимости укажите правильный путь Xcode (особенно если у вас несколько версий Xcode):
- Примите лицензионные соглашения Xcode:
- Для тестирования на реальном устройстве iOS убедитесь, что ваша учетная запись разработчика Apple правильно настроена в Xcode:
- Открыть X-код
- Перейдите в Настройки > Учетные записи.
- Добавьте свой Apple ID, если вы еще этого не сделали.
- Загрузите необходимые профили обеспечения
- Настройте переменные среды для разработки iOS:
- Источник вашей обновленной конфигурации:
Настраивать
- Установить зависимости:
- Установите и запустите сервер Appium:
- Настройте Android-устройство/эмулятор:
- Включите параметры разработчика на вашем Android-устройстве
- Включить отладку по USB
- Подключите устройство через USB или запустите эмулятор
- Проверьте, подключено ли устройство с помощью
adb devices
- Для тестирования iOS (только macOS):
- Убедитесь, что установлены инструменты командной строки Xcode:
xcode-select --install
- Настройте симулятор iOS или подключите реальное устройство
- Доверяйте компьютеру разработчика на устройстве iOS, если используете реальное устройство
- Убедитесь, что установлены инструменты командной строки Xcode:
Проведение тестов
- Создайте проект:
- Запустите MCP-сервер:
- В новом терминале запустите тест:
Тестовая конфигурация
Конфигурация Android
В примере теста в качестве демо используется приложение Android Settings. Чтобы протестировать собственное приложение:
- Отредактируйте
examples/appium-test.ts
:- Обновите
deviceName
, чтобы он соответствовал вашему устройству. - Укажите путь
app
в вашем APK-файле или - Обновление
appPackage
иappActivity
для установленного приложения
- Обновите
- Конфигурация общих возможностей:
Конфигурация iOS
Для тестирования iOS с использованием новой поддержки командной строки Xcode:
- Пример конфигурации в
examples/xcode-appium-example.ts
:
Доступные действия
Сервер MCP поддерживает различные действия Appium:
- Взаимодействие элементов:
- Найти элементы
- Элементы касания/щелчка с API действий W3C (см. раздел «Стандартные жесты W3C»)
- Введите текст
- Прокрутите до элемента с помощью W3C Actions API
- Длительное нажатие
- Управление приложениями:
- Запустить/закрыть приложение
- Сбросить приложение
- Получить текущий пакет/активность
- Элементы управления устройством:
- Ориентация экрана
- Управление клавиатурой
- Блокировка/разблокировка устройства
- Скриншоты
- Информация о батарее
- Расширенные возможности:
- Переключение контекста (Native/WebView)
- Операции с файлами
- Уведомления
- Пользовательские жесты
- Инструменты командной строки Xcode (только для iOS):
- Управление симуляторами iOS (загрузка, выключение)
- Установка/удаление приложений на симуляторах
- Запуск/завершение работы приложений
- Делайте скриншоты
- Запись видео
- Создать/удалить симуляторы
- Получить типы устройств и время выполнения
Стандартные жесты W3C
Библиотека MCP-Appium теперь реализует API W3C WebDriver Actions для сенсорных жестов, что является современным стандартом мобильной автоматизации.
Действия W3C для элементов Tap
Метод tapElement
теперь использует API действий W3C с интеллектуальными резервными вариантами:
Действия W3C для прокрутки
Метод scrollToElement
теперь использует API действий W3C:
Пользовательские жесты W3C
Вы можете создать свои собственные жесты W3C, используя метод executeMobileCommand
:
Дополнительные примеры реализации жестов стандарта W3C см. в examples/w3c-actions-swipe-demo.ts
Использование инструментов командной строки Xcode
Новый класс XcodeCommands
предоставляет мощные инструменты для тестирования iOS:
Использование функции щелчка
Метод click()
представляет собой более интуитивно понятную альтернативу tapElement()
:
Поиск неисправностей
- Устройство не найдено:
- Проверьте вывод
adb devices
- Убедитесь, что отладка по USB включена.
- Попробуйте переподключить устройство.
- Проверьте вывод
- Приложение не устанавливается:
- Проверьте правильность пути APK
- Проверьте, достаточно ли на устройстве памяти.
- Убедитесь, что приложение подписано для отладки
- Элементы не найдены:
- Используйте Appium Inspector для проверки селекторов
- Проверьте, видны ли элементы на экране.
- Попробуйте разные стратегии поиска
- Проблемы с подключением:
- Убедитесь, что сервер Appium запущен
- Проверьте конфликты портов
- Убедитесь, что установлены правильные возможности
- Проблемы с симулятором iOS:
- Проверьте, установлены ли инструменты командной строки Xcode:
xcode-select -p
- Проверьте правильность UDID симулятора с помощью
xcrun simctl list devices
- Закройте и перезапустите симулятор, если он перестанет отвечать.
- Проверьте, установлены ли инструменты командной строки Xcode:
Внося вклад
Не стесняйтесь сообщать о проблемах и отправлять запросы на дополнительные функции или исправления ошибок.
Лицензия
Массачусетский технологический институт
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
Сервер Model Context Protocol (MCP), который обеспечивает автоматизацию мобильных приложений с помощью Appium, поддерживая различные взаимодействия устройств, операции с элементами и управление приложениями через стандартизированный протокол.
- Предпосылки
- Настройка среды
- Настраивать
- Проведение тестов
- Тестовая конфигурация
- Доступные действия
- Стандартные жесты W3C
- Использование инструментов командной строки Xcode
- Использование функции щелчка
- Поиск неисправностей
- Внося вклад
- Лицензия
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that facilitates communication between ABAP systems and MCP clients, providing tools for managing ABAP objects, handling transport requests, and performing code analysis to enhance ABAP development workflows.Last updated -12840TypeScriptMIT License
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server that enables AI assistants to control and interact with Android devices, allowing for device management, app debugging, system analysis, and UI automation through natural language commands.Last updated -29198PythonApache 2.0
- AsecurityAlicenseAqualityA Model Context Protocol server that enables scalable mobile automation through a platform-agnostic interface for iOS and Android devices, allowing agents and LLMs to interact with mobile applications using accessibility snapshots or coordinate-based interactions.Last updated -113,6511,570TypeScriptApache 2.0
- AsecurityAlicenseAqualityA Model Context Protocol server that enables scalable mobile automation for iOS and Android through a platform-agnostic interface, allowing LLMs to interact with mobile applications via accessibility snapshots or screenshot-based inputs.Last updated -173,6511TypeScriptApache 2.0