Genymotion 设备名称
Genymotion device name
我正在创建一些自动化的网络移动应用程序测试,将 appium 与 Java 结合使用。我正在使用 genymotion 模拟器。
我正在设置一些功能,比如
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "TheDeviceName");
但我不确定设备名称,当我在 cmd 中键入 adb devices -l 时,我得到:
>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();
}
}
我应该在 desiredcapabilities 和 appium 配置中使用什么名称?谢谢。
澄清一下:
"adb devices" 为您提供设备 ID,而不是设备名称。
此外,无法直接从 appium 功能启动 genymotion 模拟器,因此您必须选择:
如果在测试开始之前启动模拟器对您也很重要:
如果启动模拟器不重要,只需添加功能:
cap.setCapability("udid, "192.168.54.101:5555");
我正在创建一些自动化的网络移动应用程序测试,将 appium 与 Java 结合使用。我正在使用 genymotion 模拟器。 我正在设置一些功能,比如
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "TheDeviceName");
但我不确定设备名称,当我在 cmd 中键入 adb devices -l 时,我得到:
>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();
}
}
我应该在 desiredcapabilities 和 appium 配置中使用什么名称?谢谢。
澄清一下: "adb devices" 为您提供设备 ID,而不是设备名称。 此外,无法直接从 appium 功能启动 genymotion 模拟器,因此您必须选择:
如果在测试开始之前启动模拟器对您也很重要:
如果启动模拟器不重要,只需添加功能:
cap.setCapability("udid, "192.168.54.101:5555");