我有基本的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',操作系统名称:'Mac OS X',os.arch:'x86_64',os.version:'10 .14.6',java.version: '11 .0.3'驱动程序信息:driver.version:AppiumDriver
其他详细信息:
无法解决该错误。
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);
答案 0 :(得分:0)
我认为您的appActivity
功能需要更改。通常appActivity
的格式是开头的appPackage
名称,然后是活动名称。
所以代替:
capabilities.setCapability("appActivity", ".Calculator");
尝试:
capabilities.setCapability("appActivity", "com.android.calculator2.Calculator");
如果appActivity仍然引起问题,则可能需要使用this guide提取正确的数据。