Android java.lang.SecurityException:禁止adb清除用户数据;;代码:';1';
我遇到了这个错误:Android java.lang.SecurityException:禁止adb清除用户数据;;代码:';1';,android,selenium,appium,appium-android,Android,Selenium,Appium,Appium Android,我遇到了这个错误: java.lang.SecurityException:禁止adb清除用户数据。“;代码:“1” 在Android8.1.0(oreo)的appium服务器上运行下面提到的代码时,同样的代码在Android5.1(棒棒糖)中运行良好。USB调试已在mobile中启动。有人知道我为什么会犯这个错误吗` package appium; @BeforeTest public void setcapbilities() throws Exception {
java.lang.SecurityException:禁止adb清除用户数据。“;代码:“1”
在的Android8.1.0(oreo)
服务器上运行下面提到的代码时,同样的代码在appium
中运行良好。USB调试已在mobile中启动。有人知道我为什么会犯这个错误吗`Android5.1(棒棒糖)
package appium; @BeforeTest public void setcapbilities() throws Exception { DesiredCapabilities cap = new DesiredCapabilities(); cap.setCapability("deviceName","Vipul"); cap.setCapability(CapabilityType.VERSION,"8.1"); cap.setCapability("platformName","Android"); cap.setCapability("appPackage","com.android.calculator2"); cap.setCapability("appActivity","com.android.calculator2.Calculator"); driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"),cap); driver.manage().timeouts().implicitlyWait(5,TimeUnit.SECONDS); } @Test public void firstt() { driver.findElement(By.xpath("//android.widget.Button")).click(); driver.findElement(By.xpath("7")).click(); driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); } @AfterTest public void kill() { driver.manage().timeouts().implicitlyWait(5,TimeUnit.SECONDS); driver.quit(); }
你可以尝试解决你所面临的问题 首先,使用可用的最新稳定的Appium服务器和Java客户端 其次,使用而不是AndroidDriver
。由于AndroidDriver通过AppiumDriver扩展了RemoteWebDriver,因此它必须覆盖RemoteWebDriver
方法功能 第三,你不需要到处调用隐式等待。您必须在设置方法中调用它一次quit
第四,将您的Android SDK和工具更新为最新版本。如果某个东西在和IDV5中工作,那么它也应该在Android v8上工作,这是不必要的 原因 为了使设备更加安全,最新的android版本对一些已经在使用的API施加了限制 e、 g.您可以在移动设备中使用Appium API启用飞行模式,直到Android V6,从Android V7开始,此API被阻止 解决方案 看看您的代码,似乎会话应该成功创建,您需要注意的唯一一件事是如何使测试成功。可能您需要根据Android V8的UI更改Xpath 您是否尝试在APPIUM Desktop中检查此Xpath
您在哪个设备上运行此操作?