Functional Tests with Geb

Jorge Jiménez
Jorge JiménezFull Stack Developer at Optima Global Solutions Inc
PTD

Pucela Testing Days
Jorge Jiménez	

@semurat
GEB
Tests Funcionales
<me>
Miembro de BeCode
!

Desarrollador
Convencido de Agile
Freak
Geek
¿Emprendedor?
....

</me>
¿Tests Funcionales?
¿Tests Funcionales?
¿Tests de Aceptación?
¿Tests Funcionales?
¿Tests de Aceptación?
¿Tests de Usuario?
¿Cómo pruebas tus
aplicaciones web?
¿Cómo pruebas tus
aplicaciones web?
¿Cómo pruebas tus
aplicaciones web?
!

Son lentos	

Difíciles de automatizar 	

Débiles
¿Cómo pruebas tus
aplicaciones web?
!

Validan que la aplicación funciona 	

Iteraciones más rápidas	

Ahorran dinero
Soluciones
Scripting

Grabando acciones
!

!

Selenium IDE

!

Model Driven
!

WebDriver con Page Objects
Soluciones
Scripting
!
!

Model Driven
!

Lenguaje Natural
!

WebDriver con Page Objects

Cucumber
GEB
Selenium WebDriver	

!

Estilo jQuery de selección	

!

Modelado con Page Object	

!

Expresividad de Groovy	

!

Buena documentación	

!

Integrado con otros frameworks
GEB
DEMO 1
NAvigator API
El método $()
Devuelve un objeto Navigator
Formato:
Selectores
Matching
Chaining
Form
Ejemplos
Contenido relativo
JavaScript & Ajax
Aplicaciones web modernas son asincronas:
Ajax	

Efectos	

Aplicaciones Single Page
JavaScript & Ajax
Polling
JavaScript & Ajax
Acceso a JS
Páginas y Módulos
Page Object Pattern
!

“A page object wraps an HTML page, or fragment, with
an application-specific API, allowing you to manipulate
page elements without digging around in the HTML.”
!
Martin Fowler
10/09/2013
Páginas y Módulos
Páginas y Módulos
Abstracción que modeliza y da 	

estructura a nuestro código
Páginas y Módulos
Una página....	

!

Encapsula la estructura	

El Comportamiento aparece en métodos	

Unidades Reusables
Páginas y Módulos
Páginas en Geb
Páginas y Módulos
Páginas en Geb - NAVEGACION
Páginas y Módulos
Páginas en Geb - ¿Página correcta?
Páginas y Módulos
Páginas en Geb - Content DSL
Páginas y Módulos
Módulos: Fragmentos de content
reutilizados
Integración con
Spock
Spock es un framework de testing BDD para Groovy	

Lenguaje de specification altamente expresivo	

Se ejecuta sobre un JRunner de JUnit	

Sigue el concepto de BDD: Given-When-Then	

Given: pone el sistema en un estado conocido	

When: describe la acción a realizar	

Then: observa el resultado del test
Integración con
Spock
Framework

Artifact

Base class

Spock

geb-spock

geb.spock.GebSpec

JUnit4

geb-junit4

geb.junit4.GebTest

JUnit3

geb-junit3

geb.junit3.GebTest

TestNG

geb-testng

geb.testng.GebTest
Integración con
Spock
DEMO 2
Configuración
GebConfig.groovy
Configuración
GebConfig.groovy
DEMO 3
Referencias
!
Home Page — www.gebish.org
!
Reference Documentation — www.gebish.org/manual/current
!
Source Code — github.com/geb/geb
!
User Mailing List — xircles.codehaus.org/projects/geb/lists
!
Maven Central — central.maven.org/maven2/org/codehaus/geb
!
Example projects from GitHub
- Demo 1 & Demo 2 - https://github.com/semurat/geb-demo-cyliconvalley
- Demo 3:
https://github.com/semurat/movie-database
https://github.com/semurat/geb-demo
1 of 40

Recommended

MEAN ¿otro buzzword? by
MEAN ¿otro buzzword?MEAN ¿otro buzzword?
MEAN ¿otro buzzword?Jorge Jiménez
1.4K views61 slides
NodeJS by
NodeJSNodeJS
NodeJSIBM
457 views14 slides
Integrando Groovy & Grails en el proceso de desarrollo by
Integrando Groovy & Grails en el proceso de desarrolloIntegrando Groovy & Grails en el proceso de desarrollo
Integrando Groovy & Grails en el proceso de desarrolloJose Juan R. Zuñiga
981 views14 slides
Stack mean by
Stack meanStack mean
Stack meanLuis Miguel Avila Diaz
273 views7 slides
Mvc + html5 + css3 by
Mvc + html5 + css3Mvc + html5 + css3
Mvc + html5 + css3Marc Rubiño
6.6K views20 slides
Flujos de trabajo para un desarrollador web frontend by
Flujos de trabajo para un desarrollador web frontendFlujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontendLeonidas Esteban González
3.6K views54 slides

More Related Content

What's hot

Sácale todo el provecho a Stylus el mejor pre procesador de CSS by
Sácale todo el provecho a Stylus el mejor pre procesador de CSSSácale todo el provecho a Stylus el mejor pre procesador de CSS
Sácale todo el provecho a Stylus el mejor pre procesador de CSSLeonidas Esteban González
2K views30 slides
Optimizando sites con js v2 by
Optimizando sites con js v2Optimizando sites con js v2
Optimizando sites con js v2Digital Growth
1.8K views48 slides
Plainconcepts .Net Core Event - Real Time Applications by
Plainconcepts .Net Core Event - Real Time ApplicationsPlainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time ApplicationsCarlos Landeras Martínez
327 views15 slides
Single Page Application - Aníbal Rojas by
Single Page Application - Aníbal RojasSingle Page Application - Aníbal Rojas
Single Page Application - Aníbal RojasCaracas-Tech-Meetup
763 views28 slides
APIs REST by
APIs RESTAPIs REST
APIs RESTRoberto Luis Bisbé
1.4K views19 slides
Web matrix. armando nuestros sitios dinámicamente con html5, php y mysql by
Web matrix.  armando nuestros sitios dinámicamente con html5, php y mysqlWeb matrix.  armando nuestros sitios dinámicamente con html5, php y mysql
Web matrix. armando nuestros sitios dinámicamente con html5, php y mysqlPeter Concha
841 views35 slides

What's hot(11)

Similar to Functional Tests with Geb

Conociendo Nuestro Fua interno by
Conociendo Nuestro Fua internoConociendo Nuestro Fua interno
Conociendo Nuestro Fua internoJose Patricio Bovet Derpich
497 views91 slides
Testing técnico - Automatización en web y mobile para pruebas funcionales y p... by
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Abstracta
3.5K views92 slides
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe... by
 Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe... Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...Federico Toledo
414 views92 slides
WebDriver API Starting by
WebDriver API Starting	WebDriver API Starting
WebDriver API Starting Globant
129 views18 slides
Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011 by
Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011
Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011Fátima Casaú Pérez
695 views15 slides
Cómo iniciarme en el mundo de la automatización de pruebas by
Cómo iniciarme en el mundo de la automatización de pruebasCómo iniciarme en el mundo de la automatización de pruebas
Cómo iniciarme en el mundo de la automatización de pruebasAbel Quintana Lopez
1.3K views46 slides

Similar to Functional Tests with Geb(20)

Testing técnico - Automatización en web y mobile para pruebas funcionales y p... by Abstracta
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Abstracta3.5K views
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe... by Federico Toledo
 Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe... Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Federico Toledo414 views
WebDriver API Starting by Globant
WebDriver API Starting	WebDriver API Starting
WebDriver API Starting
Globant129 views
Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011 by Fátima Casaú Pérez
Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011
Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011
Cómo iniciarme en el mundo de la automatización de pruebas by Abel Quintana Lopez
Cómo iniciarme en el mundo de la automatización de pruebasCómo iniciarme en el mundo de la automatización de pruebas
Cómo iniciarme en el mundo de la automatización de pruebas
Abel Quintana Lopez1.3K views
Casper JS - Asegurando la calidad en front-end Drupal by David Gil Sánchez
Casper JS - Asegurando la calidad en front-end DrupalCasper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end Drupal
David Gil Sánchez910 views
Taller Evento TestingUY 2018 - Test Automation Gourmet by TestingUy
Taller Evento TestingUY 2018 - Test Automation GourmetTaller Evento TestingUY 2018 - Test Automation Gourmet
Taller Evento TestingUY 2018 - Test Automation Gourmet
TestingUy319 views
Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico... by Federico Toledo
Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico...Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico...
Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico...
Federico Toledo1.1K views
¿Cómo poner software de calidad en manos del usuario de forma rápida? by Micael Gallego
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?
Micael Gallego595 views
Creando Aplicaciones Web en el 2015 by Globant
 Creando Aplicaciones Web en el 2015 Creando Aplicaciones Web en el 2015
Creando Aplicaciones Web en el 2015
Globant694 views
Is clase 13_metodos_y_procesos by Ale Mejia
Is clase 13_metodos_y_procesosIs clase 13_metodos_y_procesos
Is clase 13_metodos_y_procesos
Ale Mejia128 views

Recently uploaded

TECNOLOGIA 10-3 (2).pdf by
TECNOLOGIA 10-3 (2).pdfTECNOLOGIA 10-3 (2).pdf
TECNOLOGIA 10-3 (2).pdfangelacastaneda5
5 views16 slides
excelavanzado1-231020003159-be608ddc.pdf by
excelavanzado1-231020003159-be608ddc.pdfexcelavanzado1-231020003159-be608ddc.pdf
excelavanzado1-231020003159-be608ddc.pdfsarahloradorado
12 views23 slides
Tecnologías para la enseñanza virtual.pptx by
Tecnologías para la enseñanza virtual.pptxTecnologías para la enseñanza virtual.pptx
Tecnologías para la enseñanza virtual.pptxexprosaavedra
9 views7 slides
El Ciberespacio y sus Características.pptx by
El Ciberespacio y  sus Características.pptxEl Ciberespacio y  sus Características.pptx
El Ciberespacio y sus Características.pptxAnthlingPereira
7 views3 slides
FC if03.pptx by
FC if03.pptxFC if03.pptx
FC if03.pptxScarletRodriguez14
6 views6 slides
programacion orientada a objetos_sebastian segura barreto.pptx by
programacion orientada a objetos_sebastian segura barreto.pptxprogramacion orientada a objetos_sebastian segura barreto.pptx
programacion orientada a objetos_sebastian segura barreto.pptxsebastiansegura25
9 views10 slides

Recently uploaded(20)

excelavanzado1-231020003159-be608ddc.pdf by sarahloradorado
excelavanzado1-231020003159-be608ddc.pdfexcelavanzado1-231020003159-be608ddc.pdf
excelavanzado1-231020003159-be608ddc.pdf
sarahloradorado12 views
Tecnologías para la enseñanza virtual.pptx by exprosaavedra
Tecnologías para la enseñanza virtual.pptxTecnologías para la enseñanza virtual.pptx
Tecnologías para la enseñanza virtual.pptx
exprosaavedra9 views
El Ciberespacio y sus Características.pptx by AnthlingPereira
El Ciberespacio y  sus Características.pptxEl Ciberespacio y  sus Características.pptx
El Ciberespacio y sus Características.pptx
AnthlingPereira7 views
programacion orientada a objetos_sebastian segura barreto.pptx by sebastiansegura25
programacion orientada a objetos_sebastian segura barreto.pptxprogramacion orientada a objetos_sebastian segura barreto.pptx
programacion orientada a objetos_sebastian segura barreto.pptx
Tema 3. Fuentes de Energía no renovables.ppt by AlmuPe
Tema 3. Fuentes de Energía no renovables.pptTema 3. Fuentes de Energía no renovables.ppt
Tema 3. Fuentes de Energía no renovables.ppt
AlmuPe188 views
Tarea15.pptx by illanlir
Tarea15.pptxTarea15.pptx
Tarea15.pptx
illanlir9 views
PROYECTOS 3ER PERIODO Sofia Collazos Santos.pdf by SaMu554
PROYECTOS 3ER PERIODO Sofia Collazos Santos.pdfPROYECTOS 3ER PERIODO Sofia Collazos Santos.pdf
PROYECTOS 3ER PERIODO Sofia Collazos Santos.pdf
SaMu55410 views
Presentación: El impacto y peligro de la piratería de software by EmanuelMuoz11
Presentación: El impacto y peligro de la piratería de softwarePresentación: El impacto y peligro de la piratería de software
Presentación: El impacto y peligro de la piratería de software
EmanuelMuoz1116 views
Taller de Electricidad y Electrónica.docx by Franksamuel11
Taller de Electricidad y Electrónica.docxTaller de Electricidad y Electrónica.docx
Taller de Electricidad y Electrónica.docx
Franksamuel118 views
FUNDAMENTOS DE ELECTRICIDAD Y ELECTRONICA.pdf by ortizjuanjose591
FUNDAMENTOS DE ELECTRICIDAD Y ELECTRONICA.pdfFUNDAMENTOS DE ELECTRICIDAD Y ELECTRONICA.pdf
FUNDAMENTOS DE ELECTRICIDAD Y ELECTRONICA.pdf
electricidadyelectrnica1-230404014355-1be10cf7.docx by NyobeMahechaDvila
electricidadyelectrnica1-230404014355-1be10cf7.docxelectricidadyelectrnica1-230404014355-1be10cf7.docx
electricidadyelectrnica1-230404014355-1be10cf7.docx
Fundamentos De Electricidad y Electrónica equipo 5.pdf by CamilaCordoba30
Fundamentos De Electricidad y Electrónica equipo 5.pdfFundamentos De Electricidad y Electrónica equipo 5.pdf
Fundamentos De Electricidad y Electrónica equipo 5.pdf
CamilaCordoba3015 views

Functional Tests with Geb