Appium 移动自动化
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/appium-skill。
技能介绍
移动 UI 自动化里常见的坑
Appium 跨 Android 与 iOS,但能力(capabilities)、定位器语法和驱动行为并不一致。团队里常见的问题是:用 Thread.sleep 硬等、全局 XPath、坐标点击、每用例 resetApp(),以及两端共用同一套 caps——脚本在模拟器上能跑,换真机或云网格就 flaky。
技能如何引导你写测试
技能把角色设定为资深移动 QA 架构师,按固定流程推进:先明确执行目标,再做平台检测与语言检测(默认 Java + io.appium:java-client;Python/pytest 或 JavaScript/WebdriverIO 则指向对应 reference 模式文档)。
核心约定包括:
- 定位:优先
AccessibilityId,避免脆弱的全路径 XPath - 等待:显式
WebDriverWait,不用裸 sleep - 手势:W3C Actions API,弃用 TouchAction
- 结构:JUnit 5 测试骨架,以及 TestMu AI 云上的能力与应用上传(如
lt://URL)
内置反模式对照表和验证清单(automationName、超时、noReset 策略等),并索引 reference/cloud-integration.md、ios-specific.md、hybrid-apps.md 与 playbook 各章(BaseTest、页面对象、并行、CI/CD)。
适用边界
默认深度在 Java 与通用模式;Python/JS 需配合分语言 reference。混合应用与 WebView 需单独读 hybrid 文档。云端真机通常要比模拟器更长的超时(资料建议 30 秒以上)。技能不替代你本地的 Appium Server、证书与商店包管理,只规范测试设计与代码形态。
使用场景
- 新功能上线前,要为 Android 应用补齐 UiAutomator2 回归用例,并统一用 AccessibilityId 与显式等待。
- 现有脚本大量 Thread.sleep 与 XPath,需要在不改业务断言的前提下重构为 WebDriverWait 与稳定定位策略。
- 要把 APK/IPA 接到 TestMu AI 真机网格,需核对 automationName、超时与 lt:// 应用上传等云端能力配置。
- 混合应用含 WebView 登录页,需要编写上下文切换与 hybrid 场景下的定位与断言流程。
适合人员
- 负责 Android/iOS 回归的移动 QA,需要在本地模拟器与云端真机之间保持同一套测试规范
- 编写 JUnit 5 Appium 用例的 SDET,希望按 playbook 落地 BaseTest、页面对象与并行设备执行
- 刚接手 iOS 套件的同学,需要对照 XCUITest 能力与 ios-specific 模式补齐定位与手势写法
- 准备把移动测试接入 GitHub Actions 的工程师,要对照 CI/CD 与反模式清单避免 resetApp 与错误 caps