我是一个程序员,在自动化方面有相当多的曝光率。目前我正在从事Appium的工作。我已经阅读了Appium的文档,并能够在、物理设备和GenyMotion上运行测试用例。然而,我仍然不清楚以下所需的能力。
1) UDID
它代表我们连接的物理设备的唯一设备标识符。我有两个问题要问。(a)当我们连接物理设备并运行“亚行设备”时,是否使用相同的标识符?(b)我们可否将其用作仿真器/模拟器或AVD?我在互联网上看到了许多代码片段,它们用于下面这样的仿真器。
capabilities.setCapability("udid", "emulator-5554");2) deviceName
(a)如何找出装置名称?(b)是否有任何命令行工具可传回所有已连接装置的名称?(c) UDID和设备名称是否相同?或者这是两个完全不同的东西?(d)虚拟设备能否有一个设备名称?
我已经看到了一些代码片段,它们使用deviceName的值,就像用于模拟器的UDID一样。
capabilities.setCapability("udid", "emulator-5554");
capabilities.setCapability("deviceName", "emulator-5554");此外,我还在网上看到了许多代码片段,它们使用的值包括"Android模拟器“、”模拟器“和"Android”以及"Nexus“。
3) avd
(a)我们是否必须将我们为虚拟设备设置的名称作为值传递给这个参数?(b)如果我们使用这个工具,我们是否必须使用设备或udid?
4) deviceType和设备
这两个功能在Appium文档中没有列出,但是我已经看到许多代码片段使用这一点,如下所示。
capabilities.setCapability("deviceType", "phone");
capabilities.setCapability("device", "Android"); 有人能帮忙吗?
发布于 2015-10-06 19:53:38
会逐一回答你的问题。
1) UDID:只在您想与ios设备一起运行时使用,此功能不适用于android,只适用于ios“真实设备”而不是模拟器,您可以从itunes或从设备信息窗口通过xcode将uuid带到ios设备。
2) deviceName:命令"adb设备“将显示所有连接设备的名称,任何uuid都不是相同的设备名称,并且记住,uuid仅用于ios”真正设备“,而对于模拟器,您可以只使用"Android模拟器”,无论如何,如果您的设备名称错误,它也应该运行,因为appium会查找连接的设备,如果连接到计算机的设备多于设备,就会出现问题。
3)在使用虚拟机“仿真器”运行时,这是必需的,如果您正在运行运行在计算机中的appium sevrer,则根本不需要传递此功能。
4)我根本没有在appium中看到这些功能,也没有看到它们的任何用途,您看到的代码--它可能是appium的一个非常旧的版本--在当时是必需的。
https://stackoverflow.com/questions/32930709
复制相似问题