Appium crosswalk APP 无法切换到 webview 的问题

星云 · 2016年03月15日 · 最后由 老朱 回复于 2016年04月23日 · 2007 次阅读

问题描述

使用 appium+python 做自动化测试,测试的应用是个混合应用,使用了 crosswalk。
现在我想切换到 webview,但是出错了,然后我打印了 contexts,发现只有 NATIVE_APP,而没有 WEBVIEW。
这个之前在老版本的 app 上测试是有 WEBVIEW 的,但是自从加入 crosswalk 后就不能切换了,上网查了资料后还有很多问题不明白,不知道有没有人有相同的情况并由解决办法的。

思考

1.看到很多人使用 chromedriver 的,不知道能不能解决这个问题。之前也尝试使用过 chromedrier,但是失败了,不知道有没有大神能给我简单说一下使用方法或发一个教程给我。
2.还有看到有些人似乎使用了 WebView.setWebContentsDebuggingEnabled(true) 就可以了,不知道是否能解决?这个是要在 app 中加吗?

有好多不懂,希望有大神能指教。

共收到 14 条回复 时间 点赞

LZ 你用的 appium 版本是最新版本 1.5 吗?我也遇到了类似问题,但我的 appium 版本是 1.4.16.1,还有我在 Python 里没找到 WebView.setWebContentsDebuggingEnabled(true) 这个方法,据说是 Java 专属的

#1 楼 @hcc3352779 那个不是 java 或者 python,那个是在 android 程序里面加的

—— 来自 TesterHome 官方 安卓客户端

crosswalk 以前有帖子提过,chromedriver 貌似不支持它(内核不完全一样),它自己另外有个对应的 webdriver 叫 xwalkdriver 。

你搜索一下就找到了。

#2 楼 @zsx10110 你的意思被测试的 Android App 的代码中要加这个 WebView.setWebContentsDebuggingEnabled(true)?

#3 楼 @chenhengjie123 去年你帮我看的

#3 楼 @chenhengjie123 我看了一下,那个 xwalkdriver 是用于 linux 的?是不是从 github 下载的crosswalk-web-driver

#5 楼 @mads 我看好像 mac 上是可以获取到的?windows 上不支持?你后来是怎么解决的?

#6 楼 @xingopq 对。你可以用 dockor 或者虚拟机来跑。当然也能装个 linux 。

#7 楼 @xingopq 没弄,我离职了。。。

星云 #10 · 2016年03月16日 Author

#8 楼 @chenhengjie123 …………有时间再去尝试。。。心累。

星云 #11 · 2016年03月16日 Author

#9 楼 @mads 机智啊。。。

#11 楼 @xingopq 机智啥。。。领导让我别弄的。。。我们传统行业,主要是 web 端软件

去年也碰到类似的问题 xwalkdriver 弄了半天不行,有个规避的土办法,你可以试试,不用切换 context,可以通过 view 元素的 Description 的属性,用 findbyname 来操作 。

上月将 xwalkdriver 移置到 window 32,编译成功。

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