Macaca 小记
粗略地梳理了 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 打开页面方法回溯实战
在已知 iPhone 模拟器上打开 schema 的命令是 xcrun simctl openurl abc://www.baidu.com
,根据以上的整体框架,可以有以下路径:
- ios-simulator : lib/ios-simulator.js#L105 在 ios-simulator 中搜索
xcrun simctl openurl
关键词即可。 - macaca-ios : lib/macaca-ios.js#L494 在macaca-ios 中搜索
openURL
即可 - webdriver-server/controllers : lib/server/controllers/url.js#L12 在 webdriver-server 中搜索
device.get
( 即可 - webdriver-server/router : lib/server/router.js#L106 在 webdriver-server 中搜索
getUrl
即可 - macaca-wd : wd/lib/commands.js#L498 在 macaca-wd 中搜索 /url 并确认为 POST 即可
至此,可以看到使用 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 模拟器很慢(官方不建议使用,实际的使用体验也比较糟糕),于是,默默地拿出了测试机。。。
Comments
Leave a comment