appium对于混合app的webview页面的测试

最近一段时间一直在研究appium的android自动化,虽然了解了一部分的内容,但是由于自己目前测试的应用程序不包括webview相关的内容,所以对于这方面的了解还很少。

问题1:如何获取应用的context


下载了公司另外一款包含了webview的应用,可是通过

print driver.contexts

打印出来的context只是包含了 NATIVE_APP,并没有网上很多人说的包含了WEB_VIEW的context。 
上网一查才发现

For a real device you need to have “setWebContentsDebuggingEnabled” in the web view. Without it the web view is not exposed to automation tools

原来如此如果我们需要测试webview的话,就需要增加相应的代码才行

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {    WebView.setWebContentsDebuggingEnabled(true);}

尝试自己写了个简单的应用程序后,再次运行 print driver.contexts 还真可以了。输出结果就包含了我要的webview了。[u’NATIVE_APP’, u’WEBVIEW_com.cvte.webviewtest’]

问题2:webview找到了,如何用


那现在已经可以获取到WBEVIEW了,要怎么用呢。appium 提供了相应的api了。这里以python为例

#将context转换成webviewdriver.switch_to.context(u'WEBVIEW_com.cvte.webviewtest')

转换成webview后,后面的使用方法其实跟平时自动化测试些脚本就没什么区别了。不过要记得如果再测试别的控件的时候,记得切换回来哦。

问题3:如何进行webview页面的查看


相关教程链接,[Remote Debugging on Android with Chrome](https://developer.chrome.com/devtools/docs/remote-debugging#configure-webview),如何将手机webview页面的元素的显示在pc界面上。

这里写图片描述

如图界面会显示出相应你手机打开的web.点击inspect(注意:这里如果是一直白屏的话,说明你需要进行翻墙才行)

这里写图片描述

好了现在你就可以尽情的开始你的自动化脚本的编写了。


  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值