QA Automation para Android
Buenas noches a todos =)
Aqui les traigo algo que estuve utilizando luego de jugar con el SDK de Android y mi celular (Defy MB525 con Cyanogenmod 7.1.0)
En sintesis, les voy a explicar como hacer para instalar WebDriver en el celular (o en un emulador) Android y poder correr pruebas automatizadas de paginas webs.
Requerimientos:
- Eclipse funcionando (si tiene maven mejor :D )
- Si no tienen un celular con android, necesitan el Android SDK. Es medio pesado para bajarlo con todas las tools y plataforms, aproximadamente 1.9Gb.
- Si tienen un celu con android, recuerden habiltar la depuracion USB
Aqui los pasos:
- Instalacion, configuracion y ejecucion de WebDriver en Android.
- Bajamos android-server-2.6.0.apk desde la pagina de Selenium y lo instalamos en el celular. Para hacer las cosas un poco mas avanzadas, lo vamos a instalar utilizando un comando de Android Debug Bridge (adb). Este procedimiento aplica tanto para el emulador como para un dispositivo android con depuracion usb activa:
./adb install android-server.apk
- Para ejecutar el programa, podemos ir al menu de aplicaciones y luego entrar en WebDriver. Un cartel nos avisara que jetty esta ejecutandose en background. Tambien tenemos una opcion mediante adb, pidiendole que levante el Activity Principal:
$./adb shell am start -a android.intent.action.MAIN -n org.openqa.selenium.android.app/.MainActivity
- Por defecto, esta aplicacion escucha conexiones en el puerto 8080. Ahora necesitamos hacer un port-fw entre el dispositivo android y nuestro sistema:
$./adb forward tcp:4444 tcp:8080
En mi caso, configuro que las escuchas las realice en el puerto 4444 ya que estoy acostumbrado a la manera en la que trabaja selenium server.- Probamos si todo funciona correctamente ingresando a http://localhost:4444. Tienen que ver una pagina como la siguiente (no se preocupen por el 404 :D)
- Creacion y ejecucion de un proyecto de tests.
- Creamos un proyecto nuevo en eclipse y una Clase llamada FirstTest:
- Agregamos las librerias de selenium y sus dependencias al proyecto ( bajar selenium-java-2.8.0.zip) Aquellos que usen maven pueden resolver las dependencias automaticamente.
import junit.framework.TestCase;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.android.AndroidDriver;
public class FirstTest extends TestCase {
public void testGoogle() throws Exception {
WebDriver driver = new AndroidDriver("http://localhost:4444/wd/hub");
//driver.get("https://blog.cristianmarquez.me");
driver.get("http://www.google.com.ar");
assertEquals("Google", driver.getTitle());
driver.quit();
}
}
Labels: Android, automated testing, qa, qa automation, tutorial
2 Comments:
....en el fondo este es tu homenaje a Steve Jobs??
Gente que no tiene ni idea...
http://lmgtfy.com/?q=Steve+Jobs+android
Post a Comment
Subscribe to Post Comments [Atom]
<< Home