MCP Appium-сервер
Реализация сервера Model Context Protocol (MCP) для автоматизации мобильных приложений с использованием Appium.
Предпосылки
Node.js (v14 или выше)
Комплект разработчика Java (JDK)
Android SDK (для тестирования Android)
Xcode (для тестирования iOS, только macOS)
Сервер Appium
Устройство Android или эмулятор / Устройство iOS или симулятор
Related MCP server: DroidMind
Настройка среды
Перед выполнением любых команд убедитесь, что переменные среды настроены правильно:
Убедитесь, что ваш
.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, если используете реальное устройство
Проведение тестов
Создайте проект:
Запустите 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Закройте и перезапустите симулятор, если он перестанет отвечать.
Внося вклад
Не стесняйтесь сообщать о проблемах и отправлять запросы на дополнительные функции или исправления ошибок.
Лицензия
Массачусетский технологический институт