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
87
Functional testing with Geb
Isidro López
December 04, 2015
Tweet
Share
More Decks by Isidro López
See All by Isidro López
Valor por encima de código: el poder del Despliegue Continuo
islomar
1
160
Pusheando en master, que es gerundio
islomar
2
220
Refactoring legacy code using Approval testing (Meetup Alicante)
islomar
3
120
Aventuras y desventuras de un mindundi en Spotify
islomar
3
1.5k
Mutation testing 101
islomar
3
130
Agile (mucho) más allá de Scrum
islomar
1
130
TCR workshop
islomar
1
480
Refactoring legacy code using Approval testing
islomar
0
33
"Modern" agile
islomar
1
120
Other Decks in Programming
See All in Programming
Composing an API the *right* way (Droidcon Berlin 2024)
zsmb
1
450
CSC307 Lecture 08
javiergs
PRO
0
330
AHC035解説
terryu16
0
710
今こそ始める、CDKコンストラクトライブラリ開発 ― 入門から実践まで
tmokmss
1
930
CSC307 Lecture 07
javiergs
PRO
0
220
AWS初心者ってどうやってAWSを学ぶ?〜アプリエンジニアがやってよかったアーキテクチャ学習方法〜
yamanashi_ren01
0
190
君たちはどうコードをレビューする (される) か / 大吉祥寺.pm
utgwkk
15
8.5k
Cloudflare Workers x AWS Lambdaの組み合わせユースケース / Cloudflare Workers x AWS Lambda Combination Use Case
seike460
PRO
2
310
CSC307 Lecture 14
javiergs
PRO
0
220
日付と正規化
megmogmog1965
0
140
継続的な活動で築く地方エンジニアの道
myamashii
2
350
Play Billing Library 7.0.0 変更点まとめ@potatotips#88
kako351
0
160
Featured
See All Featured
Optimizing for Happiness
mojombo
373
69k
Designing for Performance
lara
604
67k
Principles of Awesome APIs and How to Build Them.
keavy
124
16k
Raft: Consensus for Rubyists
vanstee
134
6.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.8k
Art, The Web, and Tiny UX
lynnandtonic
291
20k
The Pragmatic Product Professional
lauravandoore
29
6.1k
Web development in the modern age
philhawksworth
203
10k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
224
21k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
2.9k
Writing Fast Ruby
sferik
623
60k
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?