appium-mcp

查看源码
2025-5-12
Words 668Read Time 2 min
Score:85

基于Appium的MCP服务器,用于移动应用自动化测试,支持多种设备和操作。

TypeScript

MCP Appium 服务器

这是一个基于 Model Context Protocol (MCP) 的服务器实现,用于通过 Appium 进行移动应用自动化测试。

环境要求

  1. Node.js (v14 或更高版本)
  1. Java Development Kit (JDK)
  1. Android SDK (用于 Android 测试)
  1. Xcode (用于 iOS 测试,仅限 macOS)
  1. Appium Server
  1. Android 设备或模拟器 / iOS 设备或模拟器

安装与配置

  1. 安装依赖:
  1. 安装并启动 Appium 服务器:
  1. 配置 Android 设备/模拟器:
      • 在 Android 设备上启用开发者选项
      • 启用 USB 调试
      • 通过 USB 连接设备或启动模拟器
      • 使用 adb devices 验证设备是否已连接

运行测试

  1. 构建项目:
  1. 启动 MCP 服务器:
  1. 在新终端中运行测试:

测试配置

示例测试使用了 Android 设置应用作为演示。要测试你自己的应用,请按照以下步骤操作:
  1. 编辑 examples/appium-test.ts
      • 更新 deviceName 以匹配你的设备
      • 设置 app 路径为你的 APK 文件,或者
      • 更新 appPackageappActivity 以测试已安装的应用
  1. 常见的 capabilities 配置:

支持的操作

MCP 服务器支持多种 Appium 操作:
  1. 元素交互:
      • 查找元素
      • 点击/轻触
      • 输入文本
      • 滚动到元素
      • 长按
  1. 应用管理:
      • 启动/关闭应用
      • 重置应用
      • 获取当前包名/活动
  1. 设备控制:
      • 屏幕方向
      • 键盘处理
      • 设备锁定/解锁
      • 截图
      • 电池信息
  1. 高级功能:
      • 上下文切换 (Native/WebView)
      • 文件操作
      • 通知处理
      • 自定义手势

故障排除

  1. 设备未找到:
      • 检查 adb devices 输出
      • 确认 USB 调试已启用
      • 尝试重新连接设备
  1. 应用未安装:
      • 确认 APK 路径正确
      • 检查设备是否有足够的存储空间
      • 确保应用已签名用于调试
  1. 元素未找到:
      • 使用 Appium Inspector 验证选择器
      • 检查元素是否在屏幕上可见
      • 尝试不同的定位策略
  1. 连接问题:
      • 确认 Appium 服务器正在运行
      • 检查端口冲突
      • 确保设置了正确的 capabilities

贡献

欢迎提交 issue 和 pull request 以添加新功能或修复 bug。

许可证

MIT
上一篇
fastmcp
下一篇
sova