Automatizaciones en Android con Selenium II
1 – Introducción
En
este documento voy a mostrar como lanzar automatizaciones en un dispositivo
móvil con android, que puede ser teléfono o tablet y con eclipse elaboraremos
un script que por medio de Selenium II será ejecutado en el dispositivo.
Los
elementos que vamos a utilizar para este tutorial serán los siguientes:
-
Dispositivo móvil con Android y el USB (En mi caso es un Motorola
XT300) o puede ser un emulador que lo encontramos dentro del SDK que
descargaremos.
-
Android SDK (http://developer.android.com/sdk/index.html)
Incluye Eclipse
-
Librerias de Selenium - Java (http://seleniumhq.org/download)
-
Conexion WIFI a internet
2 – Integración de ADB
Descargamos
Android SDK y lo descomprimimos. Copiamos la carpeta SDK y Eclipse y la
pondremos en el disco C (Creandole una carpeta para alojar a ambos)
En
mi caso los metí dentro de una carpeta llamada android y me quedo en esta ruta:
c:\android
Lo
que sigue ahora es definir la variable de entorno. Para que el equipo me
reconozca el adb que viene dentro del SDK.
Para
ello vamos a:
Inicio >> Panel de control >> Sistema >>
Configuraciones avanzadas del sistema
Una
vez ahí dentro, nos dirigimos a la pestaña Avanzada >> Variables de
entorno
Editamos
el PATH y colocamos la ruta en la que copiamos el SDK. Deberíamos tener algo
como esto:
Añadimos
un punto y coma después de la ultima ruta, colocando la nuestra. En mi caso es
c:\android\sdk\platform-tools
Si
todo quedo correcto, deberíamos poder colocar “adb” en una consola y debería
traer los parámetros del mismo
Inicio >> cmd >> adb
Si
llegamos hasta acá, quiere decir que todo está perfecto. De lo contrario, lo más
seguro es que este mal definido el PATH.
3 – Instalación de drivers USB
Tomamos
nuestro dispositivo móvil y vamos a activar el modo de depuración
Configuraciones >> Aplicaciones >> Desarrollo
Y
tildamos “Depuración de USB”
Una
vez hecho esto, conectamos el dispositivo a la PC y abrimos eclipse que está en
la carpeta que creamos en el disco C.
Abrimos
el Android SDK Manager y descargamos los USB Drivers. Al estar conectado el
dispositivo móvil, identifica que drivers utiliza y descargara e instalara
automáticamente los drivers necesarios.
Para
saber si todo quedo bien instalado, abrimos una consola y tipeamos
adb devices
Y
esto debería devolvernos un número de serie que es nuestro dispositivo
conectado.
4 – Instalación de Android Server en el móvil
Abrimos
una consola y nos paramos en el directorio en donde se encuentra el Android
Server APK. Una vez ahi, escribimos la siguiente línea:
adb -s [serialId] -e install -r [APK]
En donde el serialId es el serial de nuestro dispositivo móvil y
APK es el nombre con el cual descargaron el Android Server. Debería quedarles
algo como esto:
adb -s 003089349226000000000000 -e install -r
android-server-2.6.0.apk
Ahora
iniciaremos la aplicación en el móvil con el siguiente comando
adb -s [serialId] shell am start -a android.intent.action.MAIN -n
org.openqa.selenium.android.app/.MainActivity
Automáticamente,
se iniciara en el móvil la aplicación WebDriver (recuerden reemplazar el
SerialId por el de ustedes)
adb -s [serialId] forward tcp:8080 tcp:8080
5 – Creación del proyecto e importación de librerías
Abrimos
eclipse y creamos un nuevo proyecto.
File >> New >> Java Project
Asignamos
un nombre al proyecto y una ubicación, seguido a esto, damos click en Next.
Vamos
a la pestaña de librerías y pulsamos el boton Add External JARs...
Añadimos
la librería de android.jar que está dentro de:
sdk >> platforms >> android-4.2
Y
las de selenium que descargamos
6 – Ejecutando nuestro primer Script
File
>> New >> JUnit Test Case
Le
colocamos un nombre y damos click en Finish
Borramos
lo que tenemos dentro del cuadro de código y colocamos el siguiente:
import
org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import
org.openqa.selenium.android.AndroidDriver;
public class
androidtest {
private static
WebDriver driver;
@Before
public
void setUp() {
driver
= new
AndroidDriver();
driver.get("http://underc0de.org");
}
@After
public
void tearDown(){
driver.close();
driver.quit();
}
@Test
public void
measurePerformance() throws
InterruptedException {
Thread.sleep(3000);
driver.findElement(By.className("readViewMoreBtn")).click();
}
}
7 – Emulando el ambiente de prueba
Presionamos el icono del dispositivo móvil (ADV) que está
en el eclipse. Y crearemos un nuevo dispositivo
Le asignamos un nombre, elegimos la resolución de pantalla
y la versión de android, luego damos click en ok.
Seleccionamos el emulador, presionamos Start y luego
Launch, y se abrirá el emulador.
Finalmente, lanzamos el test con eclipse
Espero que
les haya gustado y les sirva.
ANTRAX