1 第一次 dump
2 第二次 dump
第一次 dump 是我运行完 case 立刻去 dump,发现能找到完整元素。 第二次 dump 是我隔了一段时间,去 dump 发现很多元素都找不到。
说明:这种情况遇到了不止一次。对于 android.webkit.WebView 这样的控件。 这个是我在回归运行 case 的时候发现的,以前都是可以识别出来的控件。现在发现识别不了,我就去 bump,发现的确找不到元素的 id。。因为第二张 dump 出来的信息不完整
有人遇到相同的情况不??
有没有人有相同的情况呀,这导致我很多 case 都运行不了呀
#1 楼 @Jhon 这个问题遇到过的,猜测是 webview 会有本地化成 view 的动作,但是一般需要用脚本执行才会触发,所以出现执行完 case,dump 信息比较多,直接在这个页面 dump,拿不到 webview 的信息,但不是必然的,你可以用 adb shell uiautomator dump 命令试下取出生成的 xml 文件,里面其实也是有很多信息的。
—— 来自 TesterHome 官方 安卓客户端
你解释的还比较清楚,我这些 case 是因为之前拿到了 dump 信息才执行通过,现在拿不到了。。这么不稳定,肯定需要解决,不然 case 写的 没有意义,能请教下 你是怎么解决的嘛?
#3 楼 @Jhon 这个是 uiautomator 本身的限制,本来就不支持 webview 的,估计暂时解决不了,要不就换 appium 框架试试吧!
appium 是可以测 webview 的。只是我不知道怎么破。哈哈哈。。 看网上说什么切换上下文,我进入到 webview ,上下文还是 nativeapp. 又看网上说要打开什么调试开关,打开后,进入到 webview ,上下文还是 nativeapp. 所以就一脸懵比。。。。 有没有谁能提供一篇比较好的 appium 测试 webview 的文章。。。。
一脸懵比。。。。。。。。。。。。。
如果确定是 webview 页面,获取上下文还是 nativeapp 的话,应该还是没有开 webview 页面的 debug 权限 让开发加上这句试试 webView.setWebContentsDebuggingEnabled(true);