【问题标题】:DesiredCapabilities for Appium AndroidDriverAppium AndroidDriver 的 DesiredCapabilities
【发布时间】:2016-01-01 01:17:04
【问题描述】:

我是一名程序员,在自动化方面有相当多的经验。目前我正在研究 Appium。我已经阅读了 Appium 的文档,并且能够在 Android 虚拟设备、物理设备和 GenyMotion 上运行测试用例。但是,我仍然不清楚是否要遵循所需的功能。

1) UDID

它代表我们连接的物理设备的唯一设备标识符。 我有两个问题。 (a) 当我们连接物理设备并运行“adb devices”时,它的标识符是否相同? (b) 我们可以将它用于 Emulator/Simulator 或 AVD 吗?我在 Internet 上看到了许多代码 sn-ps,它们将其用于下面的模拟器。

capabilities.setCapability("udid", "emulator-5554");

2) 设备名称

(a) 如何找到设备名称? (b) 是否有任何命令行工具可以返回所有连接设备的名称? (c) UDID 和设备名称是否相同?或者这是两个完全不同的东西? (d) 虚拟设备可以有设备名称吗?

我已经看到了代码的 sn-ps,它使用 deviceName 的值与模拟器的 UDID 相同。

capabilities.setCapability("udid", "emulator-5554");
capabilities.setCapability("deviceName", "emulator-5554");

我还在网上看到许多使用“Android Emulator”、“Emulator”和“Android”以及“Nexus”等值的sn-ps代码。

3) 平均

(a) 我们是否必须将我们为虚拟设备设置的名称作为值传递给此参数? (b) 如果我们使用这个,我们必须使用 device 或 udid 吗?

4) 设备类型和设备

这两个功能在 Appium 文档中没有列出,但是我看到很多代码 sn-ps 使用如下。

capabilities.setCapability("deviceType", "phone"); 
capabilities.setCapability("device", "Android"); 

有人可以帮忙吗?

【问题讨论】:

    标签: android testing automation appium


    【解决方案1】:

    会一一回答你的问题。

    1) UDID:仅在您想在 ios 设备上运行时使用,此功能不适用于 android,并且仅适用于 ios“真实设备”而不是模拟器,您可以从 iTunes 中获取 ios 设备的 uuid,或通过 xcode 从设备信息窗口。

    2) deviceName:命令“adb devices”将显示所有连接设备的名称,没有 uuid 不是相同的设备名称,记住 uuid 仅适用于 ios “真实设备”,而对于模拟器,你可以只是“ Android Emulator”,无论如何,如果你的设备名称错误,它也应该运行,因为 appium 会寻找连接的设备,如果你有多个设备连接到你的机器,你就会遇到问题。

    3) 使用虚拟机“模拟器”运行时需要此功能,如果您通过在您的机器上运行的 appium sevrer 运行,则根本不需要传递此功能。

    4)我根本没有在appium中看到这些功能,也没有看到它们的任何用途,您看到的代码可能是appium的一个非常旧的版本,当时是必需的。

    【讨论】:

    • 您好,在我发布问题后,我已将 UDID 用于 android 物理设备以及 AVD 和 GenyMotion。还是非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2019-04-14
    • 2015-07-18
    • 2023-03-03
    • 2019-01-22
    • 2018-02-20
    • 2017-07-27
    • 1970-01-01
    • 2019-01-30
    相关资源
    最近更新 更多