背景
随着现在移动端设备的硬件性能的提高,现在 Web 页面的体验逐渐变得可以接受,现在很多的应用都采用的 Hybrid 开发模式,一方面有利用了原生设备的 API 的优势(性能好、用户体验好),另一方面利用了 Web 开发的优势(跨平台,开发成本低)。比如微信、QQ、58 同城、美团、爱奇艺等等应用都是采用的 Hybrid 开发模式。
Hybrid 应用如何去做自动化呢?
Hybrid 是 native 嵌套了 Web,对于 native 页面,我们可以采用原生的自动化框架 UIAutomator/XCUITest,而对于 Web 页面,我们可以采用 ChromeDriver,两者相结合完成自动化测试。现在流行的说法是移动端内嵌的 Web 可以称为 H5,虽然严格意义上来说 H5 不等同 Web。为了实现 H5 页面的自动化,其中 H5 页面的调试开关我们是必须要打开,否则通过 inspector 元素探测工具是定位不到页面的元素信息。
原生 webview 应用(root 状态)
准备工具
- Xposed APK 包
- WebviewDebugHook APK 包
此种方法需要提前对手机进行 root,至于如何 root 可以在对应的机型论坛搜索解决方案,每家手机的方案都不同。如果是模拟器,一般模拟器都是支持 root 的,如夜神
安装 xposed 框架到系统中,激活 Xposed 框架
激活xposed可以参考:雷电模拟器——安装及激活xposed_~heart将心比心的博客-CSDN博客
安装 WebviewDebugHook 到系统中,在 Xposed 中选择模块勾选
打开之后进行到 H5 页面,即可点击 inspect 探测到当前 H5 页面信息