Functional Tests with Geb

1,143 views

Published on

Slides from my talk in Pucela Testing Days 2013 about functional testing with Geb

Published in: Technology
2 Comments
2 Likes
Statistics
Notes
No Downloads
Views
Total views
1,143
On SlideShare
0
From Embeds
0
Number of Embeds
298
Actions
Shares
0
Downloads
5
Comments
2
Likes
2
Embeds 0
No embeds

No notes for slide

Functional Tests with Geb

  1. 1. PTD Pucela Testing Days Jorge Jiménez @semurat
  2. 2. GEB Tests Funcionales
  3. 3. <me> Miembro de BeCode ! Desarrollador Convencido de Agile Freak Geek ¿Emprendedor? .... </me>
  4. 4. ¿Tests Funcionales?
  5. 5. ¿Tests Funcionales? ¿Tests de Aceptación?
  6. 6. ¿Tests Funcionales? ¿Tests de Aceptación? ¿Tests de Usuario?
  7. 7. ¿Cómo pruebas tus aplicaciones web?
  8. 8. ¿Cómo pruebas tus aplicaciones web?
  9. 9. ¿Cómo pruebas tus aplicaciones web? ! Son lentos Difíciles de automatizar Débiles
  10. 10. ¿Cómo pruebas tus aplicaciones web? ! Validan que la aplicación funciona Iteraciones más rápidas Ahorran dinero
  11. 11. Soluciones Scripting Grabando acciones ! ! Selenium IDE ! Model Driven ! WebDriver con Page Objects
  12. 12. Soluciones Scripting ! ! Model Driven ! Lenguaje Natural ! WebDriver con Page Objects Cucumber
  13. 13. GEB
  14. 14. Selenium WebDriver ! Estilo jQuery de selección ! Modelado con Page Object ! Expresividad de Groovy ! Buena documentación ! Integrado con otros frameworks
  15. 15. GEB
  16. 16. DEMO 1
  17. 17. NAvigator API
  18. 18. El método $() Devuelve un objeto Navigator Formato: Selectores Matching Chaining Form
  19. 19. Ejemplos
  20. 20. Contenido relativo
  21. 21. JavaScript & Ajax Aplicaciones web modernas son asincronas: Ajax Efectos Aplicaciones Single Page
  22. 22. JavaScript & Ajax Polling
  23. 23. JavaScript & Ajax Acceso a JS
  24. 24. 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
  25. 25. Páginas y Módulos
  26. 26. Páginas y Módulos Abstracción que modeliza y da estructura a nuestro código
  27. 27. Páginas y Módulos Una página.... ! Encapsula la estructura El Comportamiento aparece en métodos Unidades Reusables
  28. 28. Páginas y Módulos Páginas en Geb
  29. 29. Páginas y Módulos Páginas en Geb - NAVEGACION
  30. 30. Páginas y Módulos Páginas en Geb - ¿Página correcta?
  31. 31. Páginas y Módulos Páginas en Geb - Content DSL
  32. 32. Páginas y Módulos Módulos: Fragmentos de content reutilizados
  33. 33. 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
  34. 34. 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
  35. 35. Integración con Spock
  36. 36. DEMO 2
  37. 37. Configuración GebConfig.groovy
  38. 38. Configuración GebConfig.groovy
  39. 39. DEMO 3
  40. 40. 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

×