feat(driver): add Android UiAutomator2 driver
Tests / Test No test results found

Register `SUPPORTED_DRIVER_TYPES["uiautomator2"]` backed by the new
`AndroidDriver`, mirroring `WDADriver` method-for-method. tap/swipe/home use
the confirmed UiAutomator2 mobile commands (`clickGesture`, `dragGesture`,
`pressKey`); swipe converts `duration_ms` to a drag speed with a zero-distance
guard. Adds 34 mocked unit tests, an env-var-gated integration test, and
corrects the outdated "Android not registered" note in the iPhone setup doc.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-07-13 14:47:01 +08:00
co-authored by Claude Opus 4.6
parent 2ccbc63d95
commit 50f0b8ade9
6 changed files with 561 additions and 18 deletions
+4 -3
View File
@@ -5,9 +5,10 @@ macOS 上通过 Appium + WebDriverAgent(WDA)控制真实 iPhone。
## 1. 当前支持范围
- 当前仓库内置 `wda` Driver,即 iPhone/iPad 的 XCUITest/WDA 控制链路。
- Android 只是架构上的未来目标,当前 `driver/registry.py` 没有注册 Android
Driver,因此仅安装 Android SDK/ADB 还不能让本项目控制 Android 手机。
- 当前仓库内置 `wda`iPhone/iPad 的 XCUITest/WDA)与 `uiautomator2`(Android
的 Appium UiAutomator2)两种 Driver,均在 `driver/registry.py` 注册。
- Android 驱动代码已落地但尚未经过真机验证;完整的 Android SDK/adb/Appium 真机
安装手册留待后续变更补充,本文其余章节仍聚焦 iPhone 真机流程。
- iPhone 真机自动化必须在 macOS 上完成,因为 XCUITest、Xcode 和 WDA 签名依赖
Apple 工具链。
- 当前 Web Console 的设备登记接口不会自动连接设备,REST API 也没有公开的