Selenium WebDriver
Browser automation framework
Sucesor de Selenium Remote Control
Funciona tanto en navegador real como
headless (e.g. PhantomJS)
Slide 7
Slide 7 text
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)
Slide 8
Slide 8 text
Page Objects
Modela áreas UI como objetos
Reusabilidad/Mantenibilidad
Permite la herencia
Slide 9
Slide 9 text
Modules
Reutilización de bloques UI entre Pages
Permite declarar métodos ( = acciones)
Ejemplo: menú lateral, search input, etc.
Slide 10
Slide 10 text
jQuery content selection
Find, filter and interact with DOM elements
Permite:
● Assert content
● Trigger actions
Slide 11
Slide 11 text
… y más...
Elementos existentes por convención:
● title
● heading
Lanzar misma batería de pruebas en FF, Chrome, IE, etc.
Reporting
AJAX support
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
Alternativas
● WebDriver a pelo
● Apache JMeter
● Canoo WebTest
● Grails functional test
Slide 14
Slide 14 text
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
Slide 15
Slide 15 text
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]
Slide 16
Slide 16 text
Debate
● ¿Queremos tests funcionales?
● En caso afirmativo,
○ ¿cuándo, para qué?
○ ¿qué framework utilizar?