无法同时运行模拟器和真实移动设备的Appium Test

时间:2019-09-10 05:44:13

标签: android selenium-webdriver automation appium

我有基本的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

其他详细信息:

  • 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);

1 个答案:

答案 0 :(得分:0)

我认为您的appActivity功能需要更改。通常appActivity的格式是开头的appPackage名称,然后是活动名称。

所以代替:

capabilities.setCapability("appActivity", ".Calculator");

尝试:

capabilities.setCapability("appActivity", "com.android.calculator2.Calculator");

如果appActivity仍然引起问题,则可能需要使用this guide提取正确的数据。