Token导航 LogoToken导航TokenDH.com
MCP Appium Server (Arkhangelsk) logo
开发工具stdio官方级别未说明来源级核验

MCP Appium Server (Arkhangelsk)

MCP Server

wdio

使用Appium和WebdriverIO实现跨平台移动应用自动化测试,支持Android和iOS平台。

工具数

0

提示词数

0

GitHub Stars

4

资源数

0
自动化测试TypeScript开发工具

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

arkhangelsk

提供方

arkhangelsk

最后核验

2026/5/17 20:23

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx wdio run wdio.android.conf.ts --spec test/specs/forms.e2e.test.js

详细介绍

Appium WebdriverIO测试自动化

该项目包含使用Appium和WebdriverIO的移动应用程序的E2E测试自动化,支持Android和iOS平台。

注: 此项目使用示例移动应用程序(wdiodemoapp)由WebdriverIO提供,用于演示和测试目的。

项目结构

mcp-appium-server/
├── app/
│   ├── android/          # Android app files
│   └── ios/              # iOS app files (wdio.zip)
├── test/
│   ├── pageobjects/      # Page Object Model files
│   │   ├── forms.page.js # Android Forms screen
│   │   └── swipe.page.js # iOS Swipe screen
│   └── specs/            # Test specification files
│       ├── forms.e2e.test.js  # Android Forms E2E test
│       └── swipe.e2e.test.js  # iOS Swipe E2E test
├── wdio.conf.ts          # Base WebdriverIO configuration
├── wdio.android.conf.ts  # Android-specific configuration
├── wdio.ios.conf.ts      # iOS-specific configuration
└── package.json

先决条件

  • Node.js(v18或更高版本)
  • npm或纱线
  • Appium已在全球范围内安装(npm install -g appium)
  • Android SDK(用于Android测试)
  • Xcode(仅适用于iOS测试,macOS)
  • 运行Android模拟器或iOS模拟器

安装

npm install

测试用例

安卓-表格E2E测试

文件: test/specs/forms.e2e.test.js

测试流程:

  1. 导航到“表单”选项卡
  2. 在输入框中输入文本“ABCDEF”
  3. 验证文本输入是否正确
  4. 打开开关
  5. 验证开关状态文本是否已更改
  6. 从下拉菜单中选择“Appium太棒了”
  7. 点击“活动”按钮
  8. 在显示的弹出窗口中单击“确定”

运行命令:

npx wdio run wdio.android.conf.ts --spec test/specs/forms.e2e.test.js

预期结果: ✅ 1次传球(~12秒)

iOS-滑动E2E测试

文件: test/specs/swipe.e2e.test.js

测试流程:

  1. 导航到“滑动”选项卡
  2. 滑动旋转木马,从所有6张卡中提取描述
  3. 验证是否收集了所有6个描述
  4. 验证每张卡中的具体内容

卡片说明:

  1. “WebdriverIO是完全开源的,可以在GitHub上找到”
  2. “WebdriverIO拥有一个支持所有成员的伟大社区。”
  3. “JS基金会托管着跨越整个JavaScript生态系统的项目。”
  4. “围绕WebdriverIO的社区正在各种用户组或会议上积极讨论与WebdriverIO自动化测试相关的特定主题。”
  5. 添加辅助函数,或更复杂的现有命令集和组合,既简单又非常有用
  6. “WebdriverIO与JavaScript世界中的大多数TDD和BDD测试框架结合使用”

运行命令:

npx wdio run wdio.ios.conf.ts --spec test/specs/swipe.e2e.test.js

预期结果: ✅ 1次传球(~10s)

运行测试

运行所有测试

npx wdio run wdio.conf.ts

运行Android测试

npx wdio run wdio.android.conf.ts

运行iOS测试

npx wdio run wdio.ios.conf.ts

运行特定测试文件

npx wdio run wdio.android.conf.ts --spec test/specs/forms.e2e.test.js
npx wdio run wdio.ios.conf.ts --spec test/specs/swipe.e2e.test.js

配置

Android配置(wdio.android.conf.ts)

  • 平台:Android 12.1(API 32级)
  • 自动化:UIAutomator2
  • 应用程序: com.wdiodemoapp
  • 设备:安卓模拟器(sdk_gphone64_arm64)

iOS配置(wdio.ios.conf.ts)

  • 平台:iOS 18.6
  • 自动化:XCUITest
  • 应用程序: app/ios/wdio.zip
  • 设备:iPhone 16模拟器
  • 会话超时:300秒(用于应用程序安装)

页面对象模型

该项目遵循页面对象模型(POM)设计模式,以实现更好的可维护性和可重用性。

表单页面(test/pageobjects/forms.page.js)

  • 选择器: 表单选项卡、文本输入、结果字段、开关、下拉列表、按钮
  • 方法:

- navigateToFormsTab() -导航到“表单”选项卡 - enterText(text) -在输入框中输入文本 - getInputResultText() -获取输入结果文本 - toggleSwitch() -拨动开关元件 - getSwitchText() -获取开关状态文本 - selectDropdownOption(optionText) -选择下拉选项 - clickActiveButton() -单击“活动”按钮 - clickOkButton() -在弹出窗口中单击“确定”

滑动页面(test/pageobjects/swipe.page.js)

  • 选择器: 滑动标签、旋转木马、卡片描述
  • 方法:

- navigateToSwipeTab() -导航到“滑动”选项卡 - swipeLeft() -使用W3C Actions API执行向左滑动手势 - getAllCardDescriptions() -滑动并提取所有卡片描述

技术说明

W3C操作API iOS手势

iOS测试使用W3C Actions API进行手势自动化,这是现代标准,与XCUITest驱动程序完全兼容:

await browser
  .action("pointer")
  .move({ x: startX, y: startY })
  .down()
  .pause(100)
  .move({ x: endX, y: endY })
  .up()
  .perform();

注: 已弃用 touchPerform() 方法(JSON Wire Protocol)与iOS/XCUITest不兼容,因为它在请求体中使用HTTP GET,这违反了W3C WebDriver规范。

超时配置

由于从zip文件安装应用程序,iOS测试需要增加超时设置:

  • newCommandTimeout:300秒
  • connectionRetryTimeout:300000毫秒
  • connectionRetryCount: 3

故障排除

Android测试

  • 在执行测试之前,确保Android模拟器正在运行
  • 验证 com.wdiodemoapp 已安装在模拟器上
  • 检查Android SDK路径是否配置正确

iOS测试

  • 确保iOS模拟器正在运行(iPhone 16和iOS 18.6)
  • 验证是否已安装Xcode命令行工具
  • 检查一下 app/ios/wdio.zip 存在并包含有效的应用程序包
  • 如果会话创建超时,应用程序安装可能需要更多时间(已配置300秒超时)

常见问题

  • 找不到Appium: 全局安装 npm install -g appium
  • 未找到元素: 检查页面对象文件中的选择器
  • 超时错误: 增加配置文件中的超时值
  • iOS上的手势失败: 使用W3C Actions API,而不是不推荐使用的touchPerform

测试结果

Android表单测试

  • 状态: ✅ 经过
  • 持续时间: 约12秒
  • 验证: 6断言

iOS滑动测试

  • 状态: ✅ 经过
  • 持续时间: 约10秒
  • 验证: 12个断言(6张牌×每张2张支票)

许可证

国际协调委员会

目录标签

目录标签

自动化测试TypeScript开发工具本地部署移动应用测试跨平台测试AppiumWebdriverIO

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

wdio

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP