标签:
为了解决工作中的一个问题,开始学习selendroid。
工作中,有一些所谓H5应用需要测试,这些应用程序描述如下:
测试的步骤是:
移动端的应用分为native、mobile web、hybrid三类,前面提到的H5产品都属于hybrid类型。:
曾经选用appium对这些H5应用进行自动化测试。由于微信的qq浏览器内核有限制,导致通过appium只能读取到native这一个“上下文(context)”,无法获取webview这个“上下文”,也就无法进一步操作webview中的元素。
在testerhome这个移动测试社区中,chenhengjie123 提到:
Appium 获取 context 使用的是
adb shell cat /proc/net/unix
,然后通过分析里面的内容实现的。相关代码为:
https://github.com/appium/appium/blob/6dd575948220725b897f89775b97c4e1ab8fc28b/lib/devices/android/android-hybrid.js(里面的androidHybrid.listWebviews
方法)而 selendroid 是通过遍历 Hierarchy 结构来找 webview 的(WebView 这个 class 的实例)。相关代码:
https://github.com/selendroid/selendroid/blob/acdd467f001d0afec6278a6f160775bce62d79e3/selendroid-server/src/main/java/io/selendroid/server/model/internal/WebViewHandleMapper.java(里面的findWebViews
方法)
于是开始学习selendroid。
标签:
原文地址:http://www.cnblogs.com/superbaby11/p/5779052.html