背景:
appium对app进行UI自动化测试,原生页面切换到webview页面时,driver也要从NATIVE_APP切换到WEBVIEW_xxxxx,这个切换过程经常会出现chromdriver与安卓设备的webview版本不一致造成切换失败,从而不能执行后续对web页面元素操作的情况。
解决方案:
1、手动下载与安卓设备自带的webview相匹配的版本的chromedriver(注意与安卓设备的chrome浏览器和PC端chrome浏览器的版本没有任何关系);chromedriver下载地址为https://chromedriver.storage.googleapis.com/index.html 该地址可以分别看到不同版本的chromedriver支持的安卓设备的webview版本的范围值,安卓设备上的webview版本号可以从设备上或appium的日志中找到,不再赘述。
- 1)将下载好的chromedriver放到mac中指定的路径下(覆盖掉之前的),路径如下,也可自定义
/usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver
- 2)在appium初始化代码中加入Capability参数,服务运行时会自动找该路径下的chromedriver
caps.setCapability