[Enciclopedia Online Gratuita] Diccionario de Internet y Tecnologías de la Información y la Comunicación (TIC):
ıllı Espresso (framework) wiki: info, historia y vídeos
La información contenida en esta web debe ser considerada como información general, de carácter formativo, educativo o divulgativo, y no puede ser utilizada o interpretada como consejo o diagnótico médico, psicológico o de ningún otro tipo. Es posible que algunos datos mostrados no esten actualizados. Por ello, en caso de duda lo recomentable es consultar a un experto cualificado.
- Detalles
- Categoría: INTERNET
Espresso (framework)
Espresso es un framework de testing open source lanzado por Google el que provee una API que deja crear pruebas de interfaz de usuario (a partir de ahora UI por sus iniciales en inglés) para simular interactúes de usuarios en una aplicación Android (en la versión veintidos de ahora en adelante). Es buena práctica simular los diferentes escenarios en los que el usuario puede interacturar con una aplicación para eludir que este se halle con resultados inopinados o tenga una mala experiencia al instante de su empleo. Es por tal razón que es conveniente la creación de un ambiente de pruebas vinculadas a la UI con el objetivo de asegurarnos que la aplicación está marchando apropiadamente. Su primordial ventaja es que nos deja la sincronización automática de las acciones de las pruebas con la interfaz de usuario de nuestra aplicación. Además de esto, deja la ejecución de pruebas en máquinas x86 en un entorno multihilo, solventando inconvenientes de concurrencia asociados al testing de UI. Espresso deja realizar pruebas tanto en dispositivos físicos como virtuales (emuladores).La primordial desventaja de ejecutar las pruebas en dispositivos físicos (reales) se debe a su alto costo y tiempo que requiere por la enorme pluralidad de dispositivos existentes hoy en día. Una posible solución es ejecutar estas pruebas en un emulador (entorno controlado que deja aguantar múltiples versiones de SO, tamaños de pantalla y limitantes de memoria). Para efectuar las pruebas se debe crear una clase Java que contenga los tests en los que se efectuarán las próximas acciones: Tres componentes son los que conforman al framework, permitiendo: Supongamos que tenemos una aplicación donde se le pide al usuario que ingrese su nombre. Entonces, es preciso que este presione el botón de "Siguiente" donde va a ir a otra pantalla donde aparecerá su presentación con su respectivo nombre. IMPORTANTE: Como se observó en el ejemplo precedente, no es preciso precisar con qué género de vista estamos interaccionando (EditText, Button, etc), sencillamente ingresamos el id de la vista. Sin sitio a dudas este framework fue el más empleado en las primeras apariciones en el planeta Android. En comparación con Selenium en Android, este hace la API de testing considerablemente más simple. Robotium es una librería open source que extiende de JUnit con un sinnúmero de métodos que pueden ser empleados para pruebas de interfaz de usuario en dispositivos Android. Mientras Robotium es un framework de testing básico, este nos deja hacer más pruebas en aplicaciones y juegos desarrollados en Android. Otra de los beneficios de este framework es que ejecuta casos de prueba JUnit con privilegios singulares, lo que deja que las casos de prueba puedan extenderse mediante los diferentes procesos. Incluye 5 clases a fin de que sean empleados por los desarrolladores: Cabe resaltar que solo marcha para dispositivos Android cuyo API level sea mayor a 16 Es el último framework open source propusto por Google para la automatización de pruebas para Android con el fin que tanto los desarrolladores como testers puedan probar sus interfaces. Este tiene una API que se identifica por ser pequeña, predicible y simple de aprender. Este es soportado por un API level ocho (Froyo), diez (Gingerbread), y quince (Ice Cream Sandwich), y los próximos. Es un framework de automatización de pruebas para aplicaciones web y mobile tanto en forma nativa como híbrida para iOS y Android. Interiormente usa JSONWireProtocol para intereactuar con las aplicaciones iOS y Android usando Selenium’s WebDriver. La ventaja primordial es que deja redactar los scripts en prácticamente cualquier lenguaje de programación, por servirnos de un ejemplo Java, Objective-C, , JavaScript, PHP, Ruby, Python or C#, etc) Nos deja mecanizar las pruebas para aplicaciones en iOS y Android tanto en forma nativa como híbrida. Su primordial ventaja se halla en la sencillez para comprender la sintaxis, dejando conque personas no técnicas puedan crear y ejecutar sus propias pruebas. Aguanta más o menos ochenta controladores y los nuevos pueden ser incorporados en Ruby o bien Java.
Como ejemplo, si equiparamos la velocidad de ejecución de las pruebas en un Nexus cuatro contra un emulador, este último requiere un sesenta y cinco por ciento menos de tiempo para realizarla. Conforme al equipo de trabajo tras Espresso, su solución consiguió advertir el noventa y nueve por ciento de los bugs en las aplicaciones Android, dejando unos pocos para las pruebas tradicionales (reduciendo el ahínco requerido para exactamente las mismas).
¿De qué manera realizar pruebas para este escenario?
// Encontrar la vista cuyo id sea "user_name" y también ingresar el texto "Rodolfo" onView(withId(R.id.user_name)).perform(typeText("Rodolfo"));
// Situar la vista con id "next" y clickearloonView(withId(R.id.next)).perform(click());
// Situar la vista con id "msj_saludo" y examinar que el texto de salida sea igual a "Hola Rodolfo!"onView(withId(R.id.msj_saludo)).check(matches(withText("Hola Rodolfo!")));
Además de esto, al hacer clic sobre el botón "Siguiente", no es preciso concretar al framework que navegue cara la otra pantalla.
Este provee, además de esto, un extenso conjunto de casos de prueba de caja negra automáticos que se identifican por ser robustos y potentes para aplicaciones Android (nativas, híbridas y web)
Soporta: