我遇到此错误:
java.lang.SecurityException: adb clearing user data is forbidden.'; Code: '1'
在appium
的{{1}}服务器上运行下面提到的代码时,但相同的代码在android 8.1.0 (oreo)
中运行良好。 USB调试已在移动设备中进行。有人知道为什么我会遇到此错误吗?
android 5.1 (lollipop)
答案 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/