Publicidad

RSS Android

Robotium es un framework creado para implementar test automáticos de aplicaciones Android. Con esta herramienta se puede testear cualquier tipo de aplicación visual como Activities o Dialogs. Asemejandolo con el mundo del desarrollo web, se podría decir que Robotium es el Selenium de Android.

La dinámica de trabajo con este framework es la programación de acciones que simulen al usuario. Por ejemplo, se puede realizar la acción de realizar click en un texto especificado, introducir un texto en una caja de entrada concreta o busca un texto en el propio formulario. Realizando varias de estas acciones se puede comprobar si hay un texto de salida mediante un Assert y de esta forma validar si la aplicación funciona bien y pasa el test.

Un ejemplo de código en el test sería el siguiente:

solo.sendKey(Solo.MENU); solo.clickOnText("Archivo"); solo.clickOnText("Nuevo"); Assert.assertTrue(solo.searchText("Crear nueva ficha"));

Si deseas probar este framework aquí comento los pasos a realizar: Instalar las herramientas que ofrece y recomienda Google: Eclipse, ADT (Android Develepment Tools), SDK (Software Development Kit) y JDK (Java Development kit). Descargar el fichero robotium-solo-(version).jar que contiene el framework. Será necesario que tengas un proyecto Android con la aplicación que deseas testear. Crear un proyecto de Test Android: Pulsar File->New->Project->Android->Android Test Project. Añadir el fichero jar al proyecto: Pulsar en el proyecto->Build path->Configure Build Path y añadir el jar de Robotium. Modificar el fichero AndroidManifest.xml y cambiar en el atributo targetPackage de ApplicationTesting a ApplicationToTest. Crear un test de ejemplo: Pulsar New->Class, derivar esta clase de ActivityInstrumentationTestCase2 e implementar los test que se deseen. Para probarlo es necesario que el fichero apk tenga el mismo certificado que el proyecto de test. Para ello será recomendable darle un vistazo a la firma de aplicaciones del manual de android. Finalmente ejecutar los test: Pulsar en el proyecto Run As>Android JUnit Test.

Como todos los test automáticos del interface visual, tienen problemas con la estabilidad de propio test. El principal problema que nos podemos encontrar es con la modificación del propio interface, algo habitual cuando se está desarrollando y diseñando la aplicación. Si ocurriese alguna modificación en algún texto, los test afectados se deberían cambiar modificandolos a los nuevos literales.

Al igual que otros test automáticos se puede utilizar con Maven o Ant para integrar las pruebas en algún servidor de integración continua como Jenkins y de esta forma calcular los resultados de los test de manera automática para tenerlos siempre a disposición del equipo.

La licencia de este framework es Apache 2.0 y actualmente se encuentra por la versión 1.7.1. Una herramienta interesante para aquellos apasionados del testing y de Android.

Link de descarga | Robotium

Kotlin desde el punto de vista de un desarrollador Groovy

13 Comentarios
Kotlin desde el punto de vista de un desarrollador Groovy

Últimamente se está oyendo hablar cada vez más de Kotlin en el entorno de la JVM. Los desarrolladores Java y sobre todos los desarrolladores Android están entusiasmados con este nuevo lenguaje que promete ser una revolución para ellos.

Pero, ¿qué supone Kotlin realmente para un desarrollador Groovy? En GenbetaDev ya hemos hablado anteriormente tanto de Kotlin como de Groovy, así que si quereis conocer más en detalle ambos lenguajes os recomiendo echar un vistazo a ambos artículos. En esta ocasión os voy a contar mi experiencia desde el punto de vista de un desarrollador Groovy al usar (y aprender) Kotlin durante una semana.

¿Estás prepado? ¡Qué comience el combate!

Leer más »

Usando MVP e inversión de dependencias para abstraernos del framework en Android

19 Comentarios
Usando MVP e inversión de dependencias para abstraernos del framework en Android

Desde hace unos años se habla mucho sobre temas de arquitectura en Android, y quien más quien menos ha oído hablar de MVP (Model-View-Presenter), y de cómo usarlo para hacer las vistas (normalmente Activities o Fragments) lo más simples posibles, mientras el Presenter se encarga de toda la lógica de presentación.

Normalmente, una de las reglas que suelen imponerse es que desde el Presenter hacia abajo, ninguna de las capas sepa nada sobre Android, para aislarnos de ella, con todos los beneficios que ello conlleva. Seguramente, si te has puesto a ello por primera vez, rápidamente te surgirán dudas sobre cómo implementar esto.

Leer más »
Publicidad

Por qué prefiero trabajar en una factoría de software en vez de en una Startup

35 Comentarios
Por qué prefiero trabajar en una factoría de software en vez de en una Startup

En el mundo de la programación (al menos en España), las factorías de software tienen la imagen de ser uno de los peores lugares para desarrollarnos como profesionales.

Suele estar extendida la idea de que las denominadas "cárnicas" y, aún peor, las factorías de software que han ido creando durante los últimos años para delegar la implementación de los proyectos, sólo se preocupan por finalizar los proyectos de la forma más rápida posible, sin ningún tipo de calidad, y que a sus trabajadores los explotan por cuatro duros. Yo mismo he escrito sobre el tema anteriormente.

Es por eso que en Genbeta Dev queríamos escuchar la voz de personas que trabajan en ella y disfrutan de su trabajo día a día. Me puse en contacto con tres grandes profesionales que trabajan en las factorías de software de Indra, y esto es lo que me han contado.

Leer más »

Automatizando el testing de web móviles: Appium + Nightwatch.js

3 Comentarios
Automatizando el testing de web móviles: Appium + Nightwatch.js

Cada vez más, el tráfico que reciben los sitios web procede de dispositivos móviles, y nuestras pruebas, como los desarrollos, deben ir cada vez más hacía el 'mobile first', es decir, nuestras pruebas web deben realizarse pensando primero en los dispositivos móviles. Según el artículo 'Internet stats & facts for 2016' de hostingfacts.com:

There are more mobile internet users than desktop internet users; 52.7% of global internet users access the internet via mobile, and 75.1% of U.S. internet users access the internet via mobile

A esto debemos unir que en los entornos encaminados hacía el 'continuous delivery' en los que trabajamos, no tiene sentido que estas pruebas sean manuales. Si queremos ser eficientes, y rápidos en la entrega de valor, debemos tener baterías de pruebas automáticas, que se ejecuten en una cierta variedad de dispositivos, y que nos permitan asegurar que nuestros sitios web cumplen con el nivel de calidad que hemos decidido.

Leer más »

Exprimiendo Android Studio: trucos y atajos de teclado que te harán más productivo

7 Comentarios
Exprimiendo Android Studio: trucos y atajos de teclado que te harán más productivo

Android Studio es la herramienta oficial para el desarrollo de aplicaciones android. Al estar desarrollado sobre IntelliJ IDEA, aprovecha (casi en su totalidad) características de edición de código, análisis, refactor y generación entre otras categorías para desarrollar de forma efectiva.

En su versión 2.2, Android Studio incluye multitud de mejoras como un nuevo editor de UI, interacción con la nueva ConstrainTLayout, APK Analyzer y muchas cosas más, este artículo no se enfoca en cubrir estas novedades. Si buscas información sobre lo nuevo de esta versión, en Genbeta Dev ya hablamos sobre Android Studio 2.2 desgranando todas sus nuevas características.

Leer más »

Android Studio 2.2 lleva el desarrollo de Android a un nuevo nivel

5 Comentarios
Android Studio 2.2 lleva el desarrollo de Android a un nuevo nivel

Algunos recordamos con dolor aquellos días en los que teníamos que usar Eclipse para desarrollar aplicaciones en Android. El cambio a Android Studio y la introducción de Gradle supusieron un innumerable número de mejoras y de flexibilidad que aún a día de hoy sigue dando sus frutos.

El nuevo Android Studio 2.2 presentado durante el Google I/O ha querido ir más allá, ofreciendo una gran cantidad de herramientas que facilitarán mucho el día a día de los programadores Android.

Hemos podido ver mejoras a nivel de diseño, desarrollo, compilación y testing, de las que paso a hablarte una a una.

Leer más »
Publicidad

Integración continua en Android con BuddyBuild

2 Comentarios
Integración continua en Android con BuddyBuild

La integración continua es un proceso en el desarrollo de software que consiste en crear versiones automáticas de nuestro producto lo más a menudo posible para asegurar la integridad de nuestro código.

Este proceso funciona además muy bien con sistemas en los que existen tests que validan nuestro código, pues la integración continua comprobará entonces no sólo que se puede construir, sino además que funciona correctamente.

Existen en el mercado varios sistemas de integración continua muy conocidos como pueden ser Travis o Jenkins. Pero hoy es vengo a hablar de BuddyBuild: un sistema enfocado a móviles y extremadamente sencillo de configurar y utilizar.

Leer más »

Cómo tener éxito en tu próxima entrevista de trabajo para desarrolladores

25 Comentarios
Cómo tener éxito en tu próxima entrevista de trabajo para desarrolladores

Seguramente estás un poco harto de tu empleo actual. Tienes un salario absurdo, tu jefe no valora lo que haces, a tu empresa sólo le importa vender y la parte de desarrollo es una carga y, en definitiva, cuando llega el domingo por la noche te acecha la gran depresión.

Es muy normal en los países latinoamericanos. En muchas empresas aún existe la cultura de que lo importante son los números, y dejan la calidad del software a un segundo plano. Su única métrica es que cuanto más rápido acabes tu trabajo, mucho mejor.

Por tanto, te quedan dos opciones: o te acabas uniendo al clan de los vendedores, o te quedarás comiendo marrones y con un sueldo ridículo el resto de tu vida. En realidad hay una tercera: escapar.

Leer más »

Kotlin: La Máquina Virtual de Java tiene un nuevo aliado

12 Comentarios
Kotlin: La Máquina Virtual de Java tiene un nuevo aliado

Una de las grandes virtudes de la Máquina Virtual de Java (JVM) es que nos da la habilidad de utilizar cualquier lenguaje que sea capaz de compilar bytecode. Existen infinidad de lenguajes que se ejecutan sobre la JVM, entre los que destacan algunos como Scala, Clojure o Groovy.

Pero desde hace unos meses, tenemos un nuevo sheriff en la ciudad.

Leer más »

Mi experiencia en la BilboStack

11 Comentarios
Mi experiencia en la BilboStack

El sábado pasado tuve la oportunidad de acercarme a uno de los eventos para desarrolladores más importante del norte de España, la BilboStack. Un grupo de conferencias que se imparte en la Universidad de Deusto y que entra este año en su cuarta edición. Esta iniciativa pertenece a elComité una comunidad de profesionales y estudiantes de Bilbao apasionados por el mundo de internet.

La jornada estuvo dividida en dos tracks.

Leer más »
Publicidad

Ver más artículos