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

Appium和虚拟Android设备所需功能:SessionNotCreatedException错误

宗波涛
2023-03-14

因此,我试图为在android Emulator(avd)中运行的android应用程序编写一个自动化测试脚本,但我在Appium日志中发现以下错误:

[debug] [MJSONWP] Bad parameters: BadParametersError: Parameters were incorrect.
 We wanted {"required":["desiredCapabilities"],"optional":["requiredCapabilities
","capabilities","sessionId","id","sessionId","id"]} and you sent ["desiredCapab
ilities","requiredCapabilities","capabilities","alwaysMatch","firstMatch"]

我的设置是:

  1. Android Studio 162(w/sdk,注意这个最新版本不再包含'android'命令,android虚拟设备的创建是通过Tools完成的

在cmd中运行“adb devices”命令

List of devices attached
emulator-5554   device

所需功能设置为

@BeforeClass
public void setUp() throws MalformedURLException{
    DesiredCapabilities capabilities = new DesiredCapabilities();

    capabilities.setCapability("platformName","Android");
    capabilities.setCapability("platformVersion","5.1");
    capabilities.setCapability("deviceName","emulator-5554");
    capabilities.setCapability("app", path_to_apk);
    driver =  new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

}

运行测试时的IDE错误输出:

org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities [{app=src//main//resources//test.apk, platformVersion=5.1, platformName=Android, deviceName=emulator-5554}], required capabilities = Capabilities [{}]
Build info: version: '3.3.0', revision: 'b526bd5b41', time: '2017-03-07 19:26:04 +0000'

我被困在这一点上,不知道该怎么办。

共有3个答案

郭瀚海
2023-03-14
org.openqa.selenium.SessionNotCreatedException:

只有当我们无法在appium和移动设备之间建立时,才会发生上述异常。

apk路径可能是错误的,因为它显示在日志app=src//main//Resources//test.apk中,但它应该是存储目录的路径,如c://mobile//apk//test.apk请更正。

您也没有像下面这样在您的理想能力中提到appPackage和appactive。

// specify the application package that we copied from appium

    capabilities.setCapability("appPackage", "com.testapp");

    // specify the application activity that we copied from appium

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

已安装时需要上述参数。设备上的apk。在创建会话时,最好包含这些功能。

如果对你不起作用,请告诉我。

鲁斯伯
2023-03-14

我在评论中提到,我最终使用了旧版本的Selenium,以使所需的功能与Appium 1.6.3所期望的功能相匹配。在我的例子中,是Selenium Java Client 3.0.1 Appium 1.6.3。

双俊人
2023-03-14

我无法让它像OP一样在Selenium 3.0.1上工作。我正在使用appium的selenium网格。最终对我有用的是使用appium@1.6.4-beta,它适用于3.1.0版本的selenium。

 类似资料:
  • 在Android模拟器中使用debug时,我得到错误: 但当使用电话时,没有问题。我使用了clean project和rebuild project,但没有工作

  • 我开始学习Android开发,我安装了Android Studio。当尝试启动应用程序时,虚拟设备窗口打开,但我得到以下错误: 有什么解决办法吗?多谢了。

  • 我试图设置一个android虚拟设备来测试与的同步。我遵循以下步骤: 问题是同步根本不起作用,但没有连接错误之类的错误。。。 在我看来,问题是虚拟设备只有一个私有IP,所以服务器永远不能向它发送任何东西? 所以我可能需要某种转发,比如: 但我不确定这是否正确,也不确定应该转发哪些端口。 这里是logcat,当我想同步:

  • 由于某些原因,当我尝试创建AVD时,“确定”按钮不可点击。有人知道我做错了什么吗?

  • 我是Android开发新手,创建一个新的AVD有问题。我使用的是英特尔®酷睿™i5-4670 CPU@3.40GHz×4,64位操作系统上运行的Ubuntu 14.04。 我已经看了这里的讨论,但它对我没有帮助。 我还成功安装了英特尔网站上给出的KVM。但在创建新的AVD时,我没有发现任何CPU/ABI系统映像,如下所示: 更新:我的Android SDK管理器是这样的: 我不知道我错过了什么。请

  • 你可能已经看到了100个题目相同的问题,所以让我告诉你为什么我的问题不同: 这是错误: 模拟器:错误:x86模拟当前需要硬件加速!< br >请确保英特尔HAXM安装正确且可用。< br> CPU加速状态:没有安装HAX内核模块! 我已经从sdk管理器安装了HAXM安装程序 当我实际安装HAXM时,它说我的计算机不支持虚拟化 确实如此。我有Intel Pentium E2180 我的hyper-v