非常感谢@lihuazhang 。小菜鸟遇到疑难杂症的心情是崩溃的,第一次遇到这个问题是两个月前了。
遇到 Hybrid 应用怎么做:
1.先确定开发在测试版本的包里面是否有加调试代码 (一般都有加):if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true);}
如何确定有加,连接好电脑打开应用并停留在 H5 页面,在 Chrome 浏览器中输入 chrome://inspect,按回车会显示设备名字,并且会显示安装包名。点 inspect 就会在 Chrome 浏览器显示 App 的页面,就可以在浏览器上定位元素了。
注意:这一步 Chrome 浏览器要 ***,不然打不开
2.写几条简单的操作步骤进入到 html5 页面,打印 webview: print driver.contexts,如果除了 NATIVE_APP 还有一个的话那说明能切换 webview。切换 webview:driver.switch_to.context('打印出来 webview 名字'),
这样,切换 webview 之后,对第一步中找到元素的 xpth,css 进行定位操作。。
#3 楼 @chenhengjie123 不清楚 appium 的结构,原理。改的也就不对
#7 楼 @wang04170 只有 mac 有 1.5.3 版本的 Appium,Android 最高只到 1.4.16,mac 上的 android 环境没装,正在研究@chenhengjie 给的 windows 解决方案,你解决过这样的问题?能留个 Q 么