解决Android 6.0 NoSuchContextException 和WEBVIEW_undefined 的问题

在 Android 4.4 操作系统上测试混合应用时,可以直接顺利的在native模式和webview模式之间切换,但是在Android6.0 操作系统上却报NoSuchContextException 的异常,

百度了一下原因:
产生问题的原因:
在Android 5.0中有9个字段在引导时,但在Android 6.0中有8字段在引导时:
Android 5.0
USER PID PPID VSIZE RSS WCHAN PC NAME
u0_a611 23802 188 1169748 133272 ffffffff 00000000 S com.XXX.XXX.XXX

Android 6.0
User PID PPID VSIZE RSS WCHAN PC NAME
u0_a178 6346 211 1724936 123260 00000000 R com.XXX.XXX.XXX

但几秒钟后有9个字段
USER PID PPID VSIZE RSS WCHAN PC NAME
u0_a182 10156 211 1721024 111224 sys_epoll_ 00000000 S com.XXX.XXX.XXX

sys_epoll_字段在几秒钟后才可见

所以,当我们尝试获取webview中9个字段但是只有8个时,我们就得到一个“undefined”
解决方案:
只针对Android 6.0+的解决办法:
修改android-hybrid.js文件,在 pkg = line [pkgColumn]; 前面加上 pkgColumn = line.length - 1; 可以解决
路径:C:、Program Files (x86)\Appium\node_modules\appium\lib\devices\android\android-hybrid.js
改完之后,重启了一下apium 服务,果然好了。

也有一些其他原因造成上述的错误,比如context的名字确实错了等,还要具体分析。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值