Appium AndroidDriver 的 DesiredCapabilities
DesiredCapabilities for Appium AndroidDriver
我是一名程序员,在自动化方面有相当多的经验。目前我正在开发 Appium。我已经阅读了 Appium 的文档并且能够 运行 Android 虚拟设备、物理设备和 GenyMotion 上的测试用例。但是我仍然不清楚以下所需的功能。
1) UDID
它代表我们连接的物理设备的唯一设备标识符。
我有两个问题。
(a) 当我们连接物理设备和运行 "adb devices"时它是相同的标识符吗?
(b) 我们可以将其用于 Emulator/Simulator 或 AVD 吗?我在互联网上看到许多代码片段,它们将它用于如下所示的模拟器。
capabilities.setCapability("udid", "emulator-5554");
2) 设备名称
(a) 如何找到设备名称?
(b) 是否有任何命令行工具 returns 所有已连接设备的名称?
(c) UDID 和 Device name 是否相同?或者这是两个完全不同的东西?
(d) 虚拟设备可以有设备名吗?
我看到了使用与 UDID 相同的 deviceName 值作为模拟器的代码片段。
capabilities.setCapability("udid", "emulator-5554");
capabilities.setCapability("deviceName", "emulator-5554");
我还看到许多在线代码片段使用了 "Android Emulator"、"Emulator" 和 "Android" 以及 "Nexus".
等值
3) 均值
(a) 我们是否必须将我们为虚拟设备设置的名称作为值传递给此参数?
(b) 如果我们使用这个,我们必须使用设备还是udid?
4) 设备类型和设备
Appium 文档中没有列出这两个功能,但我已经看到很多代码片段使用它,如下所示。
capabilities.setCapability("deviceType", "phone");
capabilities.setCapability("device", "Android");
有人可以帮忙吗?
会一一解答您的问题
1) UDID: 仅当您想要 运行 与 ios 设备时使用,此功能不适用于 android,仅适用于 ios "real devices" 不是模拟器,您可以从 iTunes 或从设备信息 window 到 xcode.
获取 ios 设备的 uuid
2) deviceName: 命令 "adb devices" 将显示所有连接设备的名称,没有 uuid 是不同的设备名称,记住 uuid 仅用于 ios "real devices",对于模拟器,你可以 "Android Emulator",无论如何,如果你在功能中输入了错误的设备名称,它应该 运行 而且因为 appium 会寻找连接的设备,你会有一个问题,如果你有更多比设备连接到您的机器。
3) 当 运行 使用虚拟机 "emulator" 时需要这样做,如果您 运行 在您的机器上 运行ning 通过 appium 服务器 运行ning 您根本不需要传递这个能力。
4) 我根本没有在 appium 中看到这些功能,我也没有看到它们的任何用途,你看到的代码可能是一个非常旧的 appium 版本,当时需要它。
我是一名程序员,在自动化方面有相当多的经验。目前我正在开发 Appium。我已经阅读了 Appium 的文档并且能够 运行 Android 虚拟设备、物理设备和 GenyMotion 上的测试用例。但是我仍然不清楚以下所需的功能。
1) UDID
它代表我们连接的物理设备的唯一设备标识符。 我有两个问题。 (a) 当我们连接物理设备和运行 "adb devices"时它是相同的标识符吗? (b) 我们可以将其用于 Emulator/Simulator 或 AVD 吗?我在互联网上看到许多代码片段,它们将它用于如下所示的模拟器。
capabilities.setCapability("udid", "emulator-5554");
2) 设备名称
(a) 如何找到设备名称? (b) 是否有任何命令行工具 returns 所有已连接设备的名称? (c) UDID 和 Device name 是否相同?或者这是两个完全不同的东西? (d) 虚拟设备可以有设备名吗?
我看到了使用与 UDID 相同的 deviceName 值作为模拟器的代码片段。
capabilities.setCapability("udid", "emulator-5554");
capabilities.setCapability("deviceName", "emulator-5554");
我还看到许多在线代码片段使用了 "Android Emulator"、"Emulator" 和 "Android" 以及 "Nexus".
等值3) 均值
(a) 我们是否必须将我们为虚拟设备设置的名称作为值传递给此参数? (b) 如果我们使用这个,我们必须使用设备还是udid?
4) 设备类型和设备
Appium 文档中没有列出这两个功能,但我已经看到很多代码片段使用它,如下所示。
capabilities.setCapability("deviceType", "phone");
capabilities.setCapability("device", "Android");
有人可以帮忙吗?
会一一解答您的问题
1) UDID: 仅当您想要 运行 与 ios 设备时使用,此功能不适用于 android,仅适用于 ios "real devices" 不是模拟器,您可以从 iTunes 或从设备信息 window 到 xcode.
获取 ios 设备的 uuid2) deviceName: 命令 "adb devices" 将显示所有连接设备的名称,没有 uuid 是不同的设备名称,记住 uuid 仅用于 ios "real devices",对于模拟器,你可以 "Android Emulator",无论如何,如果你在功能中输入了错误的设备名称,它应该 运行 而且因为 appium 会寻找连接的设备,你会有一个问题,如果你有更多比设备连接到您的机器。
3) 当 运行 使用虚拟机 "emulator" 时需要这样做,如果您 运行 在您的机器上 运行ning 通过 appium 服务器 运行ning 您根本不需要传递这个能力。
4) 我根本没有在 appium 中看到这些功能,我也没有看到它们的任何用途,你看到的代码可能是一个非常旧的 appium 版本,当时需要它。