(http://2.bp.blogspot.com/-JCYwLOwRz8Q/UMpiLomXZdI/AAAAAAAABcs/FeYlUShVz1Q/s200/1.png) (http://4.bp.blogspot.com/-h_wMxLf2XN0/UMpiO5XxaoI/AAAAAAAABdc/iOmWdF5aCG0/s200/2.png)
1 – IntroducciónEn 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
- Android Server APK (http://code.google.com/p/selenium/downloads/list)
- Librerias de Selenium - Java (http://seleniumhq.org/download)
- Conexion WIFI a internet
2 – Integración de ADBDescargamos 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:\androidLo 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 sistemaUna vez ahí dentro, nos dirigimos a la pestaña
Avanzada >> Variables de entornoEditamos el PATH y colocamos la ruta en la que copiamos el SDK. Deberíamos tener algo como esto:
(http://4.bp.blogspot.com/-87JYVQs9t_A/UMpiP8bTmII/AAAAAAAABdk/j1pXnyYPopA/s640/3.png)
Añadimos un punto y coma después de la ultima ruta, colocando la nuestra. En mi caso es
c:\android\sdk\platform-toolsSi todo quedo correcto, deberíamos poder colocar "adb" en una consola y debería traer los parámetros del mismo
Inicio >> cmd >> adb(http://2.bp.blogspot.com/-I3od3N0hxG8/UMpiQ0vRhXI/AAAAAAAABdw/ersdi1QERhM/s1600/4.png)
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 USBTomamos nuestro dispositivo móvil y vamos a activar el modo de depuración
Configuraciones >> Aplicaciones >> DesarrolloY 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.
(http://1.bp.blogspot.com/-e5FUY93QPYA/UMpiQc1YkiI/AAAAAAAABdo/3mcG6wyI2ak/s640/5.png)
Para saber si todo quedo bien instalado, abrimos una consola y tipeamos
adb devicesY esto debería devolvernos un número de serie que es nuestro dispositivo conectado.
(http://4.bp.blogspot.com/-uONWhZGN2sU/UMpiSBnVx1I/AAAAAAAABeE/-lT5u7UB4co/s640/6.png)
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óvilAbrimos 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(http://1.bp.blogspot.com/-rgns4Mq2-Wc/UMpiRTgDCRI/AAAAAAAABd0/pkt2fuJKJZA/s640/7.png)
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/.MainActivityAutomáticamente, se iniciara en el móvil la aplicación WebDriver (recuerden reemplazar el SerialId por el de ustedes)
(http://1.bp.blogspot.com/-2ByhDeHLNtM/UMpiRzyVDdI/AAAAAAAABd8/J5vWAvM1fiA/s640/8.png)
Finalmente seteamos el puerto de escucha con el siguiente comando
adb -s [serialId] forward tcp:8080 tcp:80805 – Creación del proyecto e importación de libreríasAbrimos eclipse y creamos un nuevo proyecto.
File >> New >> Java Project(http://3.bp.blogspot.com/-9Epmx_xd8FY/UMpiSXmosNI/AAAAAAAABeA/ZTesflU4_n4/s1600/9.png)
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.2Y las de selenium que descargamos
(http://1.bp.blogspot.com/-P5Hx1CHNkOE/UMpiL74dx3I/AAAAAAAABc0/ed3Sm2UVGds/s1600/10.png)
Finalmente clickeamos en Finish
6 – Ejecutando nuestro primer ScriptFile >> New >> JUnit Test CaseLe colocamos un nombre y damos click en Finish
(http://3.bp.blogspot.com/-rnRckjH5ZIc/UMpiL398kwI/AAAAAAAABcw/eCcUf2OEl4U/s1600/11.png)
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();
}
}
(http://2.bp.blogspot.com/-foisMedHyQ4/UMpiMsNHgXI/AAAAAAAABc8/4HUk20xpHXA/s640/12.png)
Ejecutamos el Test Case y podremos verlo en nuestro móvil. Al finalizar, nos mostrara el resultado si se corrió bien o mal.
(http://4.bp.blogspot.com/-hfSwt0sfGbM/UMpiMoi2GCI/AAAAAAAABdA/gfK86yplX5Q/s1600/13.png)
7 – Emulando el ambiente de pruebaPresionamos el icono del dispositivo móvil (ADV) que está en el eclipse. Y crearemos un nuevo dispositivo
(http://4.bp.blogspot.com/-enYAt9UHWTI/UMpiNYzJAEI/AAAAAAAABdI/qVt7-l-o-r4/s640/14.png)
Le asignamos un nombre, elegimos la resolución de pantalla y la versión de android, luego damos click en ok.
(http://4.bp.blogspot.com/-MurqGRWTiVI/UMpiNtXRJLI/AAAAAAAABdM/G4so7rjfxRk/s640/15.png)
Seleccionamos el emulador, presionamos Start y luego Launch, y se abrirá el emulador.
(http://1.bp.blogspot.com/-n6pILEUw3LM/UMpiOOcuIPI/AAAAAAAABdU/A_8D0JNRSO4/s1600/16.png)
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
(http://3.bp.blogspot.com/-NUeuOMxk4QA/UMpiOwANYrI/AAAAAAAABdY/GyOrhewKz_g/s1600/17.png)
Y con esto podremos hacer más scripts y lanzar las pruebas contra el emulador.
Espero que les haya gustado y les sirva.
ANTRAX