解决方案
配置如下属性
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, AutomationName.ANDROID_UIAUTOMATOR2);
复制代码
方案说明
Appium启动时,需要在DesiredCapabilities
中配置属性。其中有个属性叫MobileCapabilityType.AUTOMATION_NAME
,该属性用于配置自动化引擎,源码中对于该属性介绍如下:
/**
* Which automation engine to use.
*/
String AUTOMATION_NAME = "automationName";
复制代码
该属性有如下选择:
String APPIUM = "Appium";
String SELENDROID = "Selendroid";
String IOS_XCUI_TEST = "XCuiTest";
String ANDROID_UIAUTOMATOR2 = "UIAutomator2";
String YOUI_ENGINE = "youiengine";
String ESPRESSO = "Espresso";
复制代码
除非手动配置,否则系统默认使用Appium
。Appium
使用的是UIAutomator1
,UIAutomator2
修复了UIAutomator1
的部分bug。
对于Android7.0以上的系统,UIAutomator1
查找控件出现超时导致Appium
服务端报错,此时可尝试使用UIAutomator2
。