¿Cómo puedo utilizar appium para automatizar el navegador en android?

Quiero utilizar appium para automatizar el navegador en el teléfono Android, pero no sé cómo configurar la capacidad.

En primer lugar, he habilitado la depuración USB en mi dispositivo Android en las opciones de desarrollador.

En segundo lugar, adb estaba funcionando bien, puedo ver la identificación del dispositivo.

En tercer lugar, empecé Appium.exe de Appium para Windows y writed algún código de JAVA, pero no sé cómo configurar la capacidad en el navegador de Android.

public class Test { private WebDriver driver; @Before public void setUp() throws Exception { DesiredCapabilities capabilities = new DesiredCapabilities(); //------------I don't know how to set the capability------------// capabilities.setCapability(CapabilityType.VERSION, "2.3.7"); capabilities.setCapability(CapabilityType.PLATFORM, "WINDOWS"); //--------------------------------------------------------------// driver = new SwipeableWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); } @Test public void testcase_001() throws Exception{ driver.get("http://www.google.com"); WebDriverWait wait = new WebDriverWait(driver, 30); wait.until(ExpectedConditions.presenceOfElementLocated(By.id("lst-ib"))); WebElement keyword = driver.findElement(By.name("lst-ib")); keyword.sendKeys("appium"); driver.findElement(By.id("btnK")).click(); Thread.sleep(5000); } @After public void tearDown() throws Exception { driver.quit(); } public class SwipeableWebDriver extends RemoteWebDriver implements HasTouchScreen { private RemoteTouchScreen touch; public SwipeableWebDriver(URL remoteAddress, Capabilities desiredCapabilities) { super(remoteAddress, desiredCapabilities); touch = new RemoteTouchScreen(getExecuteMethod()); } public TouchScreen getTouch() { return touch; } } } 

Muchas gracias.

Pruebe este código con el controlador Android:

 import io.appium.java_client.android.AndroidDriver; public class Test { private AndroidDriver; @Before public void setUp() throws Exception { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("deviceName", "MOTO G 2"); capabilities.setCapability("platformName", "Android"); capabilities.setCapability(CapabilityType.BROWSER_NAME, "Chrome"); capabilities.setCapability("platformVersion", "5.0.2"); capabilities.setCapability("appPackage", "com.android.chrome"); capabilities.setCapability("appActivity","com.google.android.apps.chrome.ChromeTabbedActivity"); driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); } @Test public void testcase_001() throws Exception{ driver.get("http://www.google.com"); WebElement keyword = driver.findElementByName("q"); keyword.sendKeys("appium"); driver.findElement(By.id("btnK")).click(); Thread.sleep(5000); } @After public void tearDown() throws Exception { driver.quit(); } 

Nota: Utilice selenio versión 2.48.2 (última versión) para que el controlador de Android funcione sin ningún error.

Pruebe algo como el siguiente:

 @Before public void setUp() throws Exception { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("device","Android"); capabilities.setCapability("app", "Chrome"); capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); capabilities.setCapability(CapabilityType.VERSION, "4.3"); capabilities.setCapability(CapabilityType.PLATFORM, "WINDOWS"); driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); } 

Debe almorzar el conductor de Chrome.

Puede probar con este tipo de capacidad: CapabilityType.BROWSER_NAME — "Navegador"

Este código está funcionando en mi final:

 @BeforeMethod public void setUp() throws Exception { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("deviceName", "Samsung Galaxy S4"); capabilities.setCapability("platformName", "Android"); capabilities.setCapability(CapabilityType.BROWSER_NAME, "Browser"); capabilities.setCapability("platformVersion", "4.4.4"); capabilities.setCapability(MobileCapabilityType.TAKES_SCREENSHOT, "true"); driver = new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); driver.get("http://www.google.com"); } 

Prueba esto

  DesiredCapabilities mobCapabilities = new DesiredCapabilities(); mobCapabilities.SetCapability(CapabilityType.BrowserName, AppConfig.MobileBrowser.Equals("chrome") ? MobileBrowserType.Chrome : MobileBrowserType.Browser); mobCapabilities.SetCapability(MobileCapabilityType.DeviceName, AppConfig.DeviceName); mobCapabilities.SetCapability(MobileCapabilityType.PlatformName, AppConfig.Platform); mobCapabilities.SetCapability(MobileCapabilityType.PlatformVersion, AppConfig.PlatformVersion); // init driver driver = new AndroidDriver<AndroidElement>( new Uri("http://127.0.0.1:4723/wd/hub"), mobCapabilities); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(15)); 
  • Android lee el historial del navegador
  • No se puede descargar .apk vía webbrowser desde el sitio drupal
  • Cómo abrir el navegador predeterminado
  • El botón de retroceso después de que el deeplink entre en la aplicación no vuelve a donde vino
  • Android no puede implementar el comentario de facebook en una vista web debido al navegador predeterminado
  • Entrada directa de voz / voz en el navegador móvil
  • Puede una página web en un navegador móvil preguntar / obtener la ubicación de los usuarios desde el teléfono?
  • Android vuelve del navegador a la aplicación
  • ¿Es posible usar Mozilla Persona (BrowserID) con aplicaciones móviles?
  • ¿Cómo bloquear algunas url en el navegador Android?
  • Cómo implementar mi propio esquema URI en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.