当前位置: 首页 > 知识库问答 >
问题:

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

卫招
2023-03-14

我有基本的appium自动化测试,只是在移动设备上启动应用程序,并执行一些操作。同样的代码在其他机器上运行,而我在运行它时面临问题。

我得到这个错误:

org.openqa.selenium.会话:无法创建新的远程会话。有关更多详细信息,请检查服务器日志。原始错误:处理命令时发生未知服务器端错误。原始错误:执行adbExec时出错。原始错误:命令/用户/xyz/库/Android/sdk/平台工具/adb-P 5037-s 2d5c1222 shell pm清除com.android.calculator2'退出与代码1'; stderr:'错误:java.lang.安全异常:禁止adb清除用户数据。';代码:'1'构建信息:版本:'3.141.59',修订:'e82be7d358',时间:'2018-11-14T08:17:03'系统信息:主机:'xyz.local',ip:'xxxx: x: x: x: xxxx: xxxx: xxxx: xxxx: xxxx%en0',os.name:'Mac OS X',<--plhdx86_64,os.version10.14.6,java.version11.0.3驱动信息:driver.version

其他详情:

  • 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个答案

杜英范
2023-03-14

我认为您的appActive功能需要更改。通常appActive在开头使用appPackage名称进行格式化,后跟活动名称。

因此,不是:

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

尝试:

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

如果应用活动仍然导致问题,您可能需要使用本指南拉取正确的数据。

 类似资料:
  • 将ANDROID_HOME和JAVA_HOME添加到sh配置文件(为了不每次都设置它们)echo“export JAVA_HOME=$(/usr/libexec/JAVA_HOME)”>>~/.bash_profile echo“export ANDROID_HOME=/usr/local/adt/sdk”>>~/.bash_profile 安装Android构建和平台工具$android_hom

  • TL;DR:我只能对某个设备运行一次测试,然后每隔一次尝试将我的应用程序连接到ADB会话,手动或通过Appium服务器调用,都会失败。如何解决这个问题,以便能够恢复自动化测试? 我的设备的Appium desired_capabilities包括。除设备标识符之外的所有其他desired_capabilities都在所有其他设备之间共享并适用于所有其他设备。 直到将添加到一个测试中,才观察到此错误

  • 问题内容: 我一直在尝试让xcodebuild测试在使用Jenkins的远程计算机上工作。我遇到了无法通过SSH启动GUI的错误,并通过JNLP从站启动从属设备来解决它,如下所示: 通过SSH在Xcode6下运行xcodebuild测试时超时。现在我收到一个新错误: 错误域= IDEUnitTestsOperationsObserverErrorDomain代码= 3“由于等待测试过程中的登录超时

  • 在我的应用程序中,对于特定的< code>EditText,我希望句子的第一个字母是大写字母。所以我用了< code > Android:input type = " textCapSentences " 。 奇怪的是这适用于模拟器,但不适用于模拟器。我什至尝试了,即使它已被弃用,但它不起作用。 相关事实: > 模拟器操作系统:4.0.3 真实设备操作系统:4.0.4 应用minSdk版本:2.3

  • Web应用软件的功能测试工具有很多种,但它们最根本的差异在于:某些工具可以驱动一个或多个真正的浏览器以便得到完全真实的环境,比如Selenium,而另一些工具只是模拟Web浏览器的操作,比如Canoo WebTest。Marc Guillemot将这两种工具进行了对比,根据他的观点,WebTest以13:5的比分获胜。 Marc就以下方面内容对这两种工具进行了对比和评分: Canoo WebTes

  • 线程“main”org.openqa.selenium.SessionNotCreatedException中出现异常:无法创建新会话。(原始错误:启动活动的权限被拒绝。)(警告:服务器未提供任何stacktrace信息)命令持续时间或超时:5.41秒生成信息:版本:“未知”,版本:“2aa21c1”,时间:“2016-08-02 14:59:43-0700”系统信息:主机:“粗鲁”,ip:“19