Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Appium AndroidDriver所需的功能_Android_Testing_Automation_Appium - Fatal编程技术网

Appium AndroidDriver所需的功能

Appium AndroidDriver所需的功能,android,testing,automation,appium,Android,Testing,Automation,Appium,我是一名程序员,在自动化方面有相当多的经验。目前我正在使用Appium。我已经阅读了Appium的文档,能够在Android虚拟设备、物理设备和GenyMotion上运行测试用例。但是,我仍然不清楚以下所需的功能 1) 乌迪德 它代表我们连接的物理设备的唯一设备标识符。 我有两个问题要问。 (a) 当我们连接一个物理设备并运行“adb设备”时,它是相同的标识符吗? (b) 我们可以将其用于模拟器/模拟器或AVD吗?我在互联网上看到了许多代码片段,它们将其用于下面这样的模拟器 capabiliti

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

1) 乌迪德

它代表我们连接的物理设备的唯一设备标识符。 我有两个问题要问。 (a) 当我们连接一个物理设备并运行“adb设备”时,它是相同的标识符吗? (b) 我们可以将其用于模拟器/模拟器或AVD吗?我在互联网上看到了许多代码片段,它们将其用于下面这样的模拟器

capabilities.setCapability("udid", "emulator-5554");
2) 设备名称

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

我已经看到了一些代码片段,它们使用deviceName的值与仿真器的UDID相同

capabilities.setCapability("udid", "emulator-5554");
capabilities.setCapability("deviceName", "emulator-5554");
此外,我在网上看到了许多代码片段,它们使用了“Android Emulator”、“Emulator”和“Android”以及“Nexus”等值

3) avd

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

4) 设备类型和设备

这两个功能没有在Appium文档中列出,但我已经看到许多代码段使用这一功能,如下所示

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

有人能帮忙吗?

将逐一回答您的问题

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

2) deviceName:命令“adb设备”将显示所有连接设备的名称,没有uuid不是相同的设备名称,请记住uuid仅适用于ios“真实设备”,对于模拟器,您只能使用“Android Emulator”,无论如何,如果您在它应该运行的功能中输入了错误的设备名称,因为appium将查找连接的设备,那么仅当您的机器连接了多个设备时,您就会遇到问题

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


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

您好,在我发布问题后,我还使用了android物理设备的UDID以及AVD和GenyMotion。无论如何,非常感谢。