java.lang.SecurityException:禁止adb清除用户数据。代码:“ 1”

时间:2018-12-22 11:26:30

标签: android selenium appium appium-android

我遇到此错误:

java.lang.SecurityException: adb clearing user data is forbidden.'; Code: '1'

appium的{​​{1}}服务器上运行下面提到的代码时,但相同的代码在android 8.1.0 (oreo)中运行良好。 USB调试已在移动设备中进行。有人知道为什么我会遇到此错误吗?

android 5.1 (lollipop)

2 个答案:

答案 0 :(得分:0)

很少有指针可以尝试解决您面临的问题。

首先,使用最新的稳定的Appium服务器和可用的Java客户端。

第二,使用AndroidDriver <MobileElement>代替RemoteWebDriver。由于AndroidDriver通过AppiumDriver扩展了RemoteWebDriver,因此它必须覆盖quit方法功能。

第三,您不需要到处都调用隐式等待。您必须在设置方法中调用一次。

第四,将您的Android SDK和工具更新为最新版本。

答案 1 :(得分:0)

如果 andorid v5 中可以使用某项功能,则不必一定也可以在 android v8

上使用该功能。

原因

为了使设备更安全,最新的android版本对一些已经运行的API施加了限制。

例如从 Android V7 开始,您可以在移动设备中使用Appium API启用飞行模式,直到 Android V6

解决方案

看着您的代码,会话应该成功创建,您唯一需要注意的是如何使您的测试成功。可能是您需要根据Android V8的UI更改Xpath。

您是否尝试在APPIUM Desktop中检查此Xpath?

https://automationlab0000.wordpress.com/2018/12/31/appium-desktop-for-locating-elements/