Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Functional testing with Geb
Search
Isidro López
December 04, 2015
Programming
0
130
Functional testing with Geb
Isidro López
December 04, 2015
Tweet
Share
More Decks by Isidro López
See All by Isidro López
Value over Code: the power of Continuous Deployment (Kongsberg)
islomar
1
110
How a real-life software/product engineering team works
islomar
0
26
Thinking about value
islomar
1
170
Valor por encima de código: el poder del Despliegue Continuo
islomar
1
290
Pusheando en master, que es gerundio
islomar
2
270
Refactoring legacy code using Approval testing (Meetup Alicante)
islomar
3
210
Aventuras y desventuras de un mindundi en Spotify
islomar
3
1.7k
Mutation testing 101
islomar
3
250
Agile (mucho) más allá de Scrum
islomar
1
250
Other Decks in Programming
See All in Programming
CSC307 Lecture 04
javiergs
PRO
0
660
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6k
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
230
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
170
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
Implementation Patterns
denyspoltorak
0
280
CSC307 Lecture 07
javiergs
PRO
0
550
「ブロックテーマでは再現できない」は本当か?
inc2734
0
380
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
140
MUSUBIXとは
nahisaho
0
130
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
5.9k
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Ethics towards AI in product and experience design
skipperchong
2
190
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
72
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
140
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
270
Amusing Abliteration
ianozsvald
0
96
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
250
Speed Design
sergeychernyshev
33
1.5k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
170
Transcript
Tests funcionales con Geb
Índice 1. Características de Geb 2. Alternativas 3. Uso en
otras empresas 4. Debate sobre tests funcionales
Test pyramid
Qué es Geb • Browser automation solution • Integrable con
JUnit, TestNG, Cucumber, Spock… • Build system integration: Gradle, Grails, Maven
Qué es Geb Geb se apoya en: • WebDriver cross-browser
automation • jQuery content selection • Page Object modelling • Groovy DSL
Selenium WebDriver Browser automation framework Sucesor de Selenium Remote Control
Funciona tanto en navegador real como headless (e.g. PhantomJS)
Selenium WebDriver • Cross-browser: ◦ FF, IE, Chrome, Opera. ◦
Experimental: ▪ Chrome on Android, ▪ Safari on iPhone/iPad • Remote browsers (e.g. run IE from *NIX) • Headless browsers ◦ (HTMLUnit, PhantomJS)
Page Objects Modela áreas UI como objetos Reusabilidad/Mantenibilidad Permite la
herencia
Modules Reutilización de bloques UI entre Pages Permite declarar métodos
( = acciones) Ejemplo: menú lateral, search input, etc.
jQuery content selection Find, filter and interact with DOM elements
Permite: • Assert content • Trigger actions
… y más... Elementos existentes por convención: • title •
heading Lanzar misma batería de pruebas en FF, Chrome, IE, etc. Reporting AJAX support
None
Alternativas • WebDriver a pelo • Apache JMeter • Canoo
WebTest • Grails functional test
Ejemplo integrado en Scrum (I) • Sprint Planning ◦ Se
decide si se va a crear test funcional o no ◦ Se incluye en estimación y se crea tarea en US • Pertenecía al DoD
Ejemplo integrado en Scrum (II) • QA ◦ Define las
pruebas en Cucumber ◦ [a veces también las implementan] • Desarrolladores ◦ Implementan las pruebas ◦ [a veces también las definen]
Debate • ¿Queremos tests funcionales? • En caso afirmativo, ◦
¿cuándo, para qué? ◦ ¿qué framework utilizar?