问答 [求教] 有哪些可以获取到 Android App - WebView 中的控件信息的方式

志阳、 · 2017年03月28日 · 最后由 志阳、 回复于 2017年03月31日 · 1959 次阅读

最近公司的 App 中的 webview 逐渐增多,针对 webview 的测试量也逐渐加大
所以想咨询下大家,都有哪些可以获取到 Android App - WebView 中的控件信息的方式,从而可以实现自动化。

现使用的自动化方案:
1.向开发索取 webview 对应的 URL,使用浏览器开发者模式调试,获得控件信息 + Robotium 实现功能自动化(但每个不同功能的 webview 都需要写专用的 Case)
2.代码调用前端提供给 H5 的 JS 接口 ,对 JS 接口进行测试
3.使用 python 对 webview 中向后台的 https 请求 进行测试

想要了解的方案是:
使用 python + 某些模块/方法 ,以自动化的方式,获取到当前页面显示的 webview 中的所有控件信息,从而可以做任意操作

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 6 条回复 时间 点赞

如果方便,可以直接切换成 appium?
robotium 其实不太方便测试 hybird 应用

剪烛 回复

是的,后面会考虑切换成 appium,之前 App 中的 webview 屈指可数,所以并没有去考虑,现在再逐渐的调研更有效的方式;
现在是在考虑对 WebView 是否有必要做元素遍历操作,所以想先寻找一下可以通过代码/命令获取到 webView 中元素信息的方式。

志阳、 回复

我记得 solo 里边有 getWebElements 的方法,试试看可以吗?

剪烛 回复

嗯,是的,solo.getWebElements 是可以的, 然后通过 solo.clickOnWebElement() 来操作,这是一套可行方案
只是想产品较多,是否可以不区分被测应用,通过外部的方式来获取&操作,我们有自己的自动化测试系统 (python),所以希望最好有可集成的方案,当然以上是理想状态的一种设想,至于能否实现还在调研中。嘿嘿...如果没有找到一些比较好的办法,就会再研究一些测试框架

志阳、 回复

你说的外部的方式,是说非侵入式的么?

剪烛 回复

是的是的

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册