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
Thinking about value
islomar
1
150
Valor por encima de código: el poder del Despliegue Continuo
islomar
1
260
Pusheando en master, que es gerundio
islomar
2
260
Refactoring legacy code using Approval testing (Meetup Alicante)
islomar
3
190
Aventuras y desventuras de un mindundi en Spotify
islomar
3
1.7k
Mutation testing 101
islomar
3
220
Agile (mucho) más allá de Scrum
islomar
1
220
TCR workshop
islomar
1
570
Refactoring legacy code using Approval testing
islomar
0
71
Other Decks in Programming
See All in Programming
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
390
GitHubとGitLabとAWS CodePipelineでCI/CDを組み比べてみた
satoshi256kbyte
4
220
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
480
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
270
アセットのコンパイルについて
ojun9
0
120
Android端末で実現するオンデバイスLLM 2025
masayukisuda
1
140
請來的 AI Agent 同事們在寫程式時,怎麼用 pytest 去除各種幻想與盲點
keitheis
0
120
Oracle Database Technology Night 92 Database Connection control FAN-AC
oracle4engineer
PRO
1
440
1から理解するWeb Push
dora1998
7
1.9k
MCPでVibe Working。そして、結局はContext Eng(略)/ Working with Vibe on MCP And Context Eng
rkaga
5
2.3k
個人軟體時代
ethanhuang13
0
320
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
4 Signs Your Business is Dying
shpigford
184
22k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
A Tale of Four Properties
chriscoyier
160
23k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
We Have a Design System, Now What?
morganepeng
53
7.8k
Bash Introduction
62gerente
615
210k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
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?