appium自动化过程中遇到的一些问题
1、appium版本是1.4.16.,能在6.0的系统上运行,在安卓7.0上就不行,提示无法创建session,这时需要安装高版本appium如1.7.1
2、项目中首页是h5,获取不到webview,这种情况1可以在模拟器上测试调试,2真机4.4及以下,3,手机若版本高,通过各种办法还获取不到,可能是开发在代码中关闭了debug调试,我让开发把webview调试打开就获取到了
if (Build.VERSION.SDK_INT >=Build.VERSION_CODES.KITKAT) {
WebView.setWebContentsDebuggingEnabled(true);
}
//获取webview句柄
Set contexts = driver.getContextHandles();
for(String context:contexts) {
System.out.println(context);
}
//进入webview中
driver.context((String) contexts.toArray()[1]);
3、使用1.7.1版本appium,执行app中的webview,提示chrome版本要大于68,当前版本是66,通过查找是appium中自带的chromedriver.exe版本太高和手机中的浏览器版本不对应,查找对应的驱动,如2.40的驱动对应chrome66的版本,替换掉appium下的驱动,就可以运行了
路径:\Appium\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win
4、在一个登录页,登录按钮用的是文本定位,在低版本手机执行成功,当时appium也是1.14,后来在1.71的appium上运行7.1的手机该元素定位不到,换取了一种定位方式通过id定位,就成功了