sábado, 29 de octubre de 2011

Android WebDriver , o como testear tus aplicaciones web para android

Hola buenas tardes o casi noches,


Hoy me gustaria hablarles de un herramienta para el testeo de webApp hechas para android utilizando html 5 javascript, CSS 3 . etc Este framework de testteo se llama WebDriver y es de Selenium HQ,  empresa que también tiene otros framework de testeo para aplicaciones J2EE.

Webdriver da un soporte multiplataforma como se puede ver en el siguiente link http://seleniumhq.org/docs/03_webdriver.html

Aqui les muestro lo facil que resulta realizar un test de un webApp hecha para android:



public class SimpleGoogleTest extends ActivityInstrumentationTestCase2
 <SimpleAppActivity> {

    public void testGoogleShouldWork() {
      // Create a WebDriver instance with the activity in 
      //which we want the test to run
      WebDriver driver = new AndroidDriver(getActivity());
      // Let’s open a web page
      driver.get("http://www.google.com");

      // Lookup for the search box by its name
      WebElement searchBox = driver.findElement(By.name("q"));

      // Enter a search query and submit
      searchBox.sendKeys("weather in san francisco");
      searchBox.submit();

      // Making sure that Google shows 11 results
      WebElement resultSection = driver.findElement(By.id("ires"));
      List<WebElement> searchResults = 
       resultSection.findElements(By.tagName("li"));
      assertEquals(11, searchResults.size());

      // Let’s ensure that the first result shown is the weather widget
      WebElement weatherWidget = searchResults.get(0);
      assertTrue(weatherWidget.getText()
      .contains("Weather for San Francisco, CA"));
    }
}
 
WebElement toFlick = driver.findElement(By.id("image"));
// 400 pixels left at normal speed
Action flick = getBuilder(driver)
.flick(toFlick, 0, -400, FlickAction.SPEED_NORMAL)
        .build();
flick.perform();
WebElement secondImage = driver.findElement(“secondImage”);
assertTrue(secondImage.isDisplayed()); 

Como se muestra en el codigo de arriba, solamente hay que crearse un proyecto de test de android, añadirle las librerias correspondientes y empezar a crearse tests cases . Tambien recomiendo ver el siguiente post del blog de google donde se explica http://android-developers.blogspot.com/2011/10/introducing-android-webdriver.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+blogspot%2FhsDu+%28Android+Developers+Blog%29

sábado, 22 de octubre de 2011

Nueva release de Lo Mas Barato: Gasolina




Desde Los Secretos de Android nos enorgullece anunciar que ya ha sido liberada la versión 1.4.2 de Lo Mas Barato: Gasolina y trae las siguientes novedades:

- Agrupacion de los iconos de busqueda.
- Boton de listado de las gasolineras encontrado para ir alli.
- Corrección de errores en posicionamiento GPS

Espero que la disfruteis y que opineis sobre oportando comentarios.


Un saludos

lunes, 17 de octubre de 2011

Something delicious is coming

Atentos porque algo delicioso esta apunto de llegar, os dejo un video promocional divertido de lo que nos viene encima



Estad atentos porque mañana a las 7 p.m hora del pacifico podeis ver la presentación aqui http://t.co/SxXf2tGG

Robotium, una buena herramienta para testear tus aplicaciones android.


Buenos dias,

Hoy me gustaria presentaros una herramienta que he descubierto hace muy poco cuando fui a la droidcon de londres y se llama Robotium. Esta herramienta es un framework que permite crear automaticamente test de caja negra en tus aplicaciones android, como pongo en la función de abajo, donde se puede ver como ejecuto mis casos de prueba interactuando con los elementos de la layout:

 public void testPreferenceIsSaved() throws Exception {
  
          solo.sendKey(Solo.MENU);
          solo.clickOnText("More");
          solo.clickOnText("Preferences");
          solo.clickOnText("Edit File Extensions");
          Assert.assertTrue(solo.searchText("rtf"));
                
          solo.clickOnText("txt");
          solo.clearEditText(2);
          solo.enterText(2, "robotium");
          solo.clickOnButton("Save");
          solo.goBack();
          solo.clickOnText("Edit File Extensions");
          Assert.assertTrue(solo.searchText("application/robotium"));
                
  }

Os dejo un enlace a la pagina del proyecto para que
podais examinar más a fondo esta magnifica herramienta
 http://code.google.com/p/robotium/