【发布时间】:2020-01-11 20:22:39
【问题描述】:
我有基本的 appium 自动化测试,它只是在移动设备上启动应用程序并且必须执行一些操作。 当我在运行它时遇到问题时,相同的代码正在其他机器上运行。
我收到此错误:
org.openqa.selenium.SessionNotCreatedException:无法创建新的 远程会话。请检查服务器日志以获取更多详细信息。原版的 错误:处理时发生未知的服务器端错误 命令。原始错误:执行 adbExec 时出错。原始错误: '命令'/Users/xyz/Library/Android/sdk/platform-tools/adb -P 5037 -s 2d5c1222 shell pm clear com.android.calculator2' 以代码 1' 退出; Stderr:'错误:java.lang.SecurityException:adb 清除用户数据是 禁止。';代码:'1' 构建信息:版本:'3.141.59',修订: 'e82be7d358',时间:'2018-11-14T08:17:03' 系统信息:主机: 'xyz.local', ip: 'xxxx:x:x:x:xxxx:xxxx:xxxx:xxxx%en0', os.name: 'Mac OS X',os.arch:'x86_64',os.version:'10.14.6',java.version: '11.0.3' 驱动信息:driver.version: AppiumDriver
其他细节:
- appium 版本:1.14.2
- 节点:12.6
- adb: 1.0.41
无法解决错误。
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "UiAutomator2");
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME,"Android");
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME,"Android");
capabilities.setCapability(MobileCapabilityType.UDID,udid);
capabilities.setCapability("appPackage","com.android.calculator2");
capabilities.setCapability("appActivity", ".Calculator");
AppiumDriver<AndroidElement> appiumDriver = new AppiumDriver<>(new URL(APPIUM_SERVER_URL.replace("port", appiumPort)), capabilities);
【问题讨论】:
-
也许您想用 adb 执行的操作现在在给定的设备版本中不受支持!
-
好的!所以我尝试使用不同的虚拟设备,显然它适用于其中一些!但是接下来如何弄清楚到底是什么问题!
-
从命令行运行
adb -s 2d5c1222 shell pm clear com.android.calculator2'并检查您遇到的错误。
标签: android selenium-webdriver automation appium