粗略地梳理了 macaca 的整体框架。

App-inspector

iOS

查询 UDID xcrun simctl list app-inspector -u id 如:app-inspector -u 18EE9380-4795-4444-93F4-CEBF122B138C

Android

adb devices 查找需要 inspect 的设备 ID app-inspector -u id 如: app-inspector -u 7N2SSE157Y003194

macaca-cli 整体框架

macaca

macaca 打开页面方法回溯实战

在已知 iPhone 模拟器上打开 schema 的命令是 xcrun simctl openurl abc://www.baidu.com ,根据以上的整体框架,可以有以下路径:

至此,可以看到使用 driver.get 方法就可以达到 openurl 的效果。在 macaca 官方文档上简单的就一句话 Support: Web(WebView) Navigate to a new URL.

(PS:起初以为只有 browser 才支持该方法,于是找了这么一大圈,不过,也刚好可以帮忙捋顺 macaca 的整体流程。。。终于可以开心地玩耍了)

Q&A

INSTALL_FAILED_NO_MATCHING_ABIS:

由于本地模拟器只安装了 Nexus 5X (Android 7.0 和 Android P),两个模拟器 Image 都是 x86 的,但打出来的包是 ARM 的。由于在 PC X86 架构上使用 ARM 模拟器很慢(官方不建议使用,实际的使用体验也比较糟糕),于是,默默地拿出了测试机。。。

References