Android,
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.
Si
llegamos hasta acá, es por que venimos muy bien! En caso de lanzar error, es porque
el driver del dispositivo, no fue bien instalado.
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
Si
nos aparece el Success como en la imagen, es porque quedo bien instalado.
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)
Finalmente
seteamos el puerto de escucha con el siguiente comando
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
Finalmente
clickeamos en Finish
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();
}
}
Ejecutamos el Test Case y podremos verlo en nuestro móvil.
Al finalizar, nos mostrara el resultado si se corrió bien o mal.
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.
Una vez hecho esto, los pasos para lanzar la prueba
son los mismos que la anterior, es decir, repetimos los pasos del punto 4, que
eran los de instalar el andoird server en el móvil.
Finalmente, lanzamos el test con eclipse
Y con esto
podremos hacer más scripts y lanzar las pruebas contra el emulador.
ANTRAX
2 comentarios: