geb tutorial browser automation testing using geb tool
Geb (pronunciado 'jeb') es la respuesta a los desafíos de la automatización del navegador. Es una herramienta muy eficaz para realizar pruebas de automatización en la web.
Geb se originó por la necesidad de hacer que la automatización del navegador (inicialmente para pruebas web) sea menos complicada, sin complicaciones y más eficiente. Puede utilizarse para programar, extraer datos de la web y automatizar las tareas web manuales. Además, Geb es un navegador cruzado herramienta para pruebas de automatización.
Geb funciona como una herramienta impulsada por el desarrollador para automatizar la colaboración entre navegadores web y contenido web. Ejecuta WebDriver en lenguaje Groovy.
La belleza de la herramienta de prueba Geb es que combina las mejores características del lenguaje de programación Groovy, jQuery, WebDriver y modelado de objetos de página para proporcionar una inspección, selección e interacción web potente, sólida y dinámica de contenido.
¿Qué hace que Geb sea único en comparación con otros herramientas de prueba de automatización disponible en el mercado es su sintaxis. Es similar a jQuery que normalmente se usa para consultar las páginas HTML fácilmente. En segundo lugar, tiene soporte integrado para el patrón de objeto de página.
Geb proporciona una gran ayuda para las pruebas web funcionales a través de la integración con algunas plataformas de prueba comunes y ampliamente utilizadas, incluidas Spock , Griales, JUnit , Pepino-JVM , TestNG, etc. Veremos cómo se puede integrar Geb con el framework Grails en la parte posterior de este artículo.
Lo que vas a aprender:
- Usos prácticos
- Ventajas
- Prerrequisitos
- Empezando
- Aprenda con el ejemplo
- Prueba de validación de la base de datos a través del script Geb:
- Pocos métodos útiles en Geb
- Inconvenientes de esta herramienta
- Más recursos:
- Conclusión
- Lectura recomendada
Usos prácticos
Como ya se discutió en la introducción de este tutorial de Geb, se puede utilizar:
- Como herramienta de prueba en varios navegadores como Chrome, Firefox, Internet Explorer, etc. (El mismo script de automatización se puede ejecutar en diferentes navegadores para realizar pruebas web de su aplicación).
- Automatizar la aceptación del usuario y los casos de prueba funcionales.
- Automatizar escenarios de prueba creados para pruebas funcionales o web de cualquier aplicación.
- Para cubrir las pruebas de extremo a extremo, incluida la validación de la interfaz de usuario (interfaz de usuario) y la validación de la base de datos (base de datos).
- Como herramienta de desarrollador para automatizar la interacción entre un navegador web y el contenido web.
Ventajas
- Geb es una herramienta gratuita de código abierto. Tiene licencia de Apache License, versión 2.0.
- Fácil y simple de automatizar las pruebas web.
- Los Page Objects de Geb y Groovy DSL hacen que las pruebas sean legibles hasta el punto de que casi parecen un inglés simple.
- Ejecuta las pruebas rápidamente y, por lo tanto, ahorra tiempo y costo de prueba.
- Compatible con diferentes navegadores como IE, Firefox, Chrome y HTMLUnit.
- Ejecuta las pruebas en el navegador real. Es como si estuviera probando en el entorno real, el que vería el usuario.
- Facilita las pruebas de regresión. Puede ejecutar los casos de prueba automatizados de Geb para verificar si alguna funcionalidad existente se está rompiendo después de una corrección o cambio en la aplicación.
- Al usar Geb para las pruebas de automatización, se requieren cambios mínimos en el código de prueba si hay cambios en la interfaz de usuario en su aplicación. Por lo tanto, reduce el esfuerzo y la duplicación de código.
- Ayuda a una cobertura de prueba de 360 grados (o máximo) dentro de un único script.
Prerrequisitos
Antes de comenzar, debemos descargar e instalar el software. En el repositorio central de Maven, Geb está disponible como un único jar de Geb-core. haga clic aquí para instalarlo en su máquina.
Necesitará el jar Geb-core anterior, una implementación de controlador web y el jar de soporte de selenio para que Geb funcione en su máquina.
Consulte la siguiente sección de instalación y uso del libro de Geb para instalar la herramienta y ponerla en funcionamiento => Manual de instalación y uso de geb .
Empezando
Como ya se mencionó, Geb se puede integrar con diferentes marcos de prueba.
Dependiendo del marco que haya elegido, deberá instalar el complemento relacionado.
Por ejemplo : Griales ( Griales es un marco muy famoso para aplicaciones web) para escribir scripts de prueba de automatización y automatizar los escenarios de prueba. Si desea utilizar Geb para sus pruebas funcionales de Grails, puede instalar el complemento relacionado desde aquí complemento grails-geb . Este complemento maneja el baseUrl y reportsDir elementos de configuración.
Aprenda con el ejemplo
Permítanme mostrarles cómo escribir un script Geb para automatizar un escenario de prueba.
Realice el siguiente escenario de prueba:
ID de escenario de prueba | Softwaretestinghelp-1 | ID de caso de prueba | Softwaretestinghelp -1A |
Salida | |||
Descripción del caso de prueba | Verificar la página de Softwaretestinghelp.com a través del motor de búsqueda | Estado del script de automatización | En progreso |
Requisito previo | 1 navegador 2. motor de búsqueda 3. sitio web: Softwaretestinghelp.com debería existir | Guión de requisitos previos | N / A |
Los pasos de ejecución son:
Inicie el motor de búsqueda de Google |
Verifique si el motor de búsqueda se ha cargado correctamente |
Ingrese softwaretestinghelp.com en el cuadro de búsqueda |
Espere a que se carguen los resultados |
Verifique si el primer enlace en los resultados dirige a softwaretestinghelp.com |
Si es así, abra el enlace. |
Espere hasta que se abra el sitio web. |
Aquí está el script de la herramienta de automatización Geb para el escenario anterior:
|_+_|Ahora puede intentar escribir un script GEB simple por su cuenta haciendo referencia al ejemplo anterior.
Prueba de validación de la base de datos a través del script Geb:
Cualquier prueba de automatización web se divide en tres partes:
- Validación de UI - Validar los datos reflejados en la interfaz de usuario (front end) antes y después de la ejecución del escenario de prueba de automatización.
- Validación de base de datos - Validar los datos reflejados en la base de datos (backend) antes y después de la ejecución del escenario de prueba de automatización.
- Flujo de prueba / flujo de script real.
El script Geb escrito para automatizar un escenario de prueba puede contener el código para las tres secciones anteriores.
El script Geb en la sección de ejemplo anterior fue para automatizar el flujo de prueba y la validación de la interfaz de usuario. Del mismo modo, puede escribir un script de prueba para la validación de la base de datos.
Para cualquier prueba de validación de base de datos, siempre puede usar la siguiente plantilla como esquema para su código:
|_+_|Pocos métodos útiles en Geb
- Cuando el escenario de su caso de prueba involucra varias pestañas y ventanas: Siempre que te encuentres con una aplicación que abre nuevas ventanas o pestañas, Por ejemplo al hacer clic en un enlace con un conjunto de atributos de destino, puede hacer uso de withWindow () y withNewWindow () métodos para ejecutar código en el contexto de otras ventanas.
- El método de conducción: La clase de navegador contiene un método estático: manejar() . Este método brinda una conveniencia adicional a las secuencias de comandos Geb. Todas las llamadas a métodos de nivel superior y accesos a propiedades están implícitas en el navegador.
- Haciendo peticiones: Las instancias del navegador mantienen un baseUrl propiedad que se emplea para resolver todas las URL relativas. Por lo general, es más preferible definir sus URL base con barras diagonales finales y no usar barras inclinadas en las URL relativas.
- Cambio de página: Con la ayuda de útiles página() métodos, es factible cambiar la instancia de la página sin realizar una nueva solicitud.
- Salir del navegador: El objeto del navegador proporciona renunciar() y cerrar() métodos (que simplemente transfieren la tarea al controlador base).
Inconvenientes de esta herramienta
- Nacido ejecuta WebDriver en el idioma Groovy. Toda la idea detrás de esto es hacer uso de WebDriver más fácil y sencillo. Por lo tanto, cuando utilice Webdriver a través de Geb, solo se admitirá el lenguaje de programación Groovy. Pero, si usa directamente WebDriver , es compatible con muchos lenguajes como Ruby, C #, Python, Java.
- No sugeriría el uso de Geb para proyectos pequeños. Funciona de maravilla para tareas enormes, pero tiene éxito en actividades pequeñas. Si su aplicación web no contiene varias páginas y formularios a través de los cuales debe fluir la información, es posible que descubra que Geb realmente le cuesta más tiempo del que ahorra.
- Es muy particular acerca del entorno que utiliza la aplicación de su sitio web. Se requiere que Geb esté bien integrado en un entorno específico para que funcione correctamente.
Más recursos:
- Revisar la Libro de Geb aquí para obtener documentación detallada y ejemplos.
- Aquí hay un proyecto de muestra que muestra integración de Geb con griales .
Conclusión
Geb es muy útil para automatizar escenarios de casos de prueba. Es útil para automatizar las pruebas web, funcionales y de aceptación de usuarios. Es compatible con varios navegadores y se puede integrar con diferentes marcos. Combina el poder de WebDriver, la elegancia de jQuery Selection, la solidez del modelado de objetos de página y la expresividad de Groovy.
Los scripts de Geb son fáciles de usar y para el desarrollador, lo que proporciona una mejor cobertura de prueba y pruebas aceleradas al mismo tiempo que lo hace más eficiente.
Sobre el Autor: Esta es una publicación invitada de Priya K. Tiene más de 4 años de experiencia en servicios de TI con experiencia en pruebas y soporte para varias aplicaciones.
No dude en publicar sus consultas de pruebas de automatización de Geb en los comentarios.
Lectura recomendada
- Tutorial de la herramienta de prueba de accesibilidad WAVE
- Tutorial de Ranorex: una potente herramienta de prueba de automatización móvil, web y de escritorio
- Sikuli GUI Automation Testing Tool - Guía para principiantes, parte 2
- Tutorial de Parrot QA: Revisión de la herramienta de prueba funcional entre navegadores
- Mejores herramientas de prueba de software 2021 (Herramientas de automatización de pruebas de control de calidad)
- Tutoriales detallados de Eclipse para principiantes
- ¿Qué son las pruebas de automatización? (Guía definitiva para iniciar la automatización de pruebas)
- Tutorial de Parasoft SOAtest: Herramienta de prueba de API sin script