Genymotion设备名称

时间:2017-02-14 14:42:26

标签: android adb appium genymotion

我正在使用appium和Java创建一些自动化的网络移动应用测试。我正在使用genymotion模拟器。 我正在设置一些功能,比如

DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "TheDeviceName");

但是当我输入adb设备时,我不确定设备名称是否来自cmd:我得到了:

>adb devices -l
List of devices attached
192.168.54.101:5555    device product:vbox86p model:AminaPhone device:vbox86p

这是我使用的代码:

package com.example;

import java.net.MalformedURLException;

import java.net.URL;

import org.openqa.selenium.By;
import org.openqa.selenium.Platform;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.BrowserType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.remote.MobileCapabilityType;
import io.appium.java_client.remote.MobilePlatform;

public class FirstAppiumTest {


// create instance for appium driver
    AppiumDriver<WebElement> driver;
    @Test

    public void Setup() throws MalformedURLException, InterruptedException
    {
        DesiredCapabilities cap = new DesiredCapabilities();
        cap.setCapability(MobileCapabilityType.BROWSER_NAME,BrowserType.CHROME);
        cap.setCapability(MobileCapabilityType.PLATFORM,Platform.ANDROID);
        cap.setCapability(MobileCapabilityType.PLATFORM_NAME,MobilePlatform.ANDROID);
        cap.setCapability(MobileCapabilityType.DEVICE_NAME,"Android");
        //cap.setCapability("udid","192.168.54.101:5555");

        //cap.setCapability("AVD", "emulator-5554");
        driver = new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub/status"), cap);
        driver.get("http://www.facebook.com");
        System.out.println("Title "+driver.getTitle());
        System.out.println("SetUp is successful and Appium Driver is launched successfully");
        driver.findElement(By.name("email")).sendKeys("test@gmail.com");
        driver.findElement(By.name("pass")).sendKeys("test_selenium");
        driver.findElement(By.id("u_0_5")).click();
        //Thread.sleep(5000);
        driver.quit();

    }


}

我应该在所需功能和appium配置中使用的名称是什么?谢谢。

1 个答案:

答案 0 :(得分:0)

只是为了澄清: “adb devices”为您提供设备ID,而不是设备名称。 而且,不可能直接从appium功能启动genymotion模拟器,所以你必须选择:

如果您在测试开始前也启动模拟器非常重要:https://stackoverflow.com/a/28961477/7368913

如果启动模拟器并不重要,只需添加功能:

cap.setCapability("udid, "192.168.54.101:5555");