Está en la página 1de 42

Patrones

TALLER de diseño
en la automatización:
¿PageObject o
ScreenPlay?

PM Vladimir Berrio Garcia

13 y 14 de mayo, 2019
Framework Automatizaci6n G Patrones de Diseno

01.1.0
11111110
0 1100 0 0 1 01
◄ ('\1.0 1

10· 011 01 1 1 0 010111'


o· 01 01 1 0 0 01 1 00.1 1
'l.01.1 1 0 1 0 1 1 0 .:L
Agenda
• Page Object
• SOLID
• Refactorización de Page Object
• ScreenPlay Pattern
• Ejercicio práctico
Agenda
• Page Object
• SOLID
• Refactorización de Page Object
• ScreenPlay Pattern
• Ejercicio práctico
Page
Object
• Representa componentes web
• Evita duplicación de código
• Automatizaciones mantenibles
Page Object -
Ejemplo
Page Object -
Beneficios
Page Object – Problema más
común
Page Object – Problema más
común
Page Object – Clases
grandes
¿Cuál es el problema con tener clases con muchas líneas de código?
Page Object – Clases
grandes
• Más líneas de código, Más complejo
• Código repetido
• Difícil de mantener
Agenda
• Page Object
• SOLID
• Refactorización de Page Object
• ScreenPlay Pattern
• Ejercicio práctico
SOLID –
Principios

Single responsibility principle


Open Closed principle
Liskov substitution principle
Interface segregation principle
Dependency inversion principle
SOLID –
Principios

• Buenas prácticas
• Mas fácil de mantener y extender
• Elimina malas prácticas

Robert C. Martin
SOLID –
Principios

Single responsibility principle


Open Closed principle
Liskov substitution principle
Interface segregation principle
Dependency inversion principle
Single responsibility principle
(SRP)

A class should have only one reason to change.

Robert C. Martin
SRP – Page
Object
SRP – Page
Object
Open Closed principle –
(OCP)

• Abierta por extensión

• Cerrada por modificación


Open Closed principle –
(OCP)
Adicionar nueva funcionalidad:
Page Object – SOLID
principios
Single Responsibility principle

Open Closed principle


Page Object –
Refactorización
Principios SOLID de la programación orientada a objetos
Agenda
• Page Object
• SOLID
• Refactorización de Page Object
• ScreenPlay Pattern
• Ejercicio práctico
Page Object –
Refactorización

• Refactorización Page Object

• Creador ScreenPlay Pattern

Antony Marcano
Page Object – Refactorización -
OCP
Page Object – Refactorización -
SRP
Page Object –
Refactorización
Page Object –
Refactorización

…you extend the behavior of such modules by adding


new code, not by changing old code that already
works.

Robert C. Martin
Page Object –
Refactorización
Screen

Task
s
Agenda
• Page Object
• SOLID
• Refactorización de Page Object
• ScreenPlay Pattern
• Ejercicio práctico
ScreenPlay Pattern – Enfoque
BDD
Roles Tipo de usuario

Goals Caso de prueba

Task Pasos del caso de prueba


s
Actions Click, Escribir
ScreenPlay
Pattern

Enfoque BDD SOLID ScreenPlay


ScreenPlay Pattern - Serenity
BDD

http://www.thucydides.info

https://github.com/serenity-dojo/screenplay-exercises
ScreenPlay Pattern – Diagrama de
Clases
Agenda
• Page Object
• SOLID
• Refactorización de Page Object
• ScreenPlay Pattern
• Ejercicio práctico
ScreenPlay Pattern – Ejercicio
Práctico
ScreenPlay Pattern – Ejercicio
Práctico 1
Automatizar el siguiente caso de prueba:
• Adicionar Empleado
ScreenPlay Pattern – Ejercicio Práctico
2
Actualizar los casos de pruebas para que continúen
funcionando con la versión 2 de la aplicación.
ScreenPlay Pattern – Ejercicio
Práctico 3
Automatizar el siguiente caso de prueba:
• Login con credenciales incorrectas
Page Object vs ScreenPlay
Pattern

Con Ambos patrones podemos lograr automatizaciones mantenibles


Automatizacion de Pruebas
Exitosa

Patrones de diseno Buenas practicas de programaci6n


¿PREGUNTAS?
¡MUCHAS GRACIAS!

13 y 14 de mayo, 2019

También podría gustarte