SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Luz,	cámara,	screenplay!
Refactorizando Page	Object
Rodrigo	Martín
TestingAR	– Buenos	Aires	– 2017/09/12
“Si	tus tests	tienen llamadas directas a	las APIS	de	Webdriver,	
algo estás haciendo mal”
Simon	Stewart
Nuestro viaje
• Discusión de	Page	Object
• Introducción al	patrón Screenplay
• Un	poco de	historia
• Conceptos
• Frameworks	disponibles
• Ejemplos de	Código
• Conclusion
• Preguntas /	Discusión
Page	Object	Pattern
Problemas de	Page	Object
• Orientado a	páginas
• Sin	responsabilidades únicas
• Clases largas
• Mucha herencia
Una	clase típica
Principios SOLID
Principio	de	responsabilidad única
Ejemplo
Principio	abierto cerrado
Page	Object	Refactor
Tests	centrados en	usuarios
• Roles	->	¿Quiénes?
• Goals	->	¿Por qué?
• Tasks	->	¿Qué?
• Actions	->	¿Cómo?
Algo de	historia
• In	Praise	of	Abstraction	(2007)
• Jnarrate (2008)
• Screenplay	JVM	(2013)
• Serenity	BDD	(2015)
Conceptos Clave
Frameworks
Metáfora del	sistema
Mapeo a	código
Roles ¿Quiénes? As	a	videogame	collectionist
Goals ¿Por qué? Scenario:	Search	vintage	consoles	by	keyword
Tasks ¿Qué? @When("^(?:he|she)	searches	for	items	containing	(.*)$")
public	void	
actor_searches_for_items_containing(String	keywords)	throws	Throwable {

theActorInTheSpotlight().attemptsTo(Search.byKeywords(keywords));

}
Actions ¿Cómo? @Step("{0}	search	by	#keywords")
public	<T	extends	Actor>	void	performAs(T	actor)	{
actor.attemptsTo(
Enter.theValue(keywords).into(HomePage.SEARCH_FIELD),
Hit.the(Keys.RETURN).into(HomePage.SEARCH_FIELD)
);
}
Feature	file
Step	definitions
Task	- Navigate
Task	- Search
Page	Class
Question	Class
Estructura del	proyecto
Reporte
Reporte detallado
Conclusión
Modelar nuestros tests	en	base	a	usuarios y	no	a	la	estructura de	
la	página
Links
• Page	Object	Pattern	by	Martin	Fowler
• Proyecto	de	prueba	de	Screenplay
• Serenity	BDD	Framework
• SerenityJS	Framework
• Serenity	Test	Examples	en	Github
• Anthony	Marcano	Screnplay	Talk	Selenium	ConfUK	2016
• In	Praise	of	Abstraction
• JNarrate
• Screenplay-JVM

Más contenido relacionado

Similar a TestingAR XIX - Investing in Testing - Luz, Cámara, Screenplay! por Rodrigo Martin

CursoFundeweb2-basico.ppt
CursoFundeweb2-basico.pptCursoFundeweb2-basico.ppt
CursoFundeweb2-basico.ppt
ejavm
 
Desarrollo Ágil De Aplicaciones Web
Desarrollo Ágil De Aplicaciones WebDesarrollo Ágil De Aplicaciones Web
Desarrollo Ágil De Aplicaciones Web
Andrés Max
 

Similar a TestingAR XIX - Investing in Testing - Luz, Cámara, Screenplay! por Rodrigo Martin (20)

CursoFundeweb2-basico.ppt
CursoFundeweb2-basico.pptCursoFundeweb2-basico.ppt
CursoFundeweb2-basico.ppt
 
Java 8, tópicos de estudio para el examen upgrade
Java 8, tópicos de estudio para el examen upgradeJava 8, tópicos de estudio para el examen upgrade
Java 8, tópicos de estudio para el examen upgrade
 
U5.pptx
U5.pptxU5.pptx
U5.pptx
 
Como crear aplicaciones de bases de datos con MS SQL Server 2012
Como crear aplicaciones de bases de datos con MS SQL Server 2012Como crear aplicaciones de bases de datos con MS SQL Server 2012
Como crear aplicaciones de bases de datos con MS SQL Server 2012
 
SpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con GrailsSpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con Grails
 
Introducción a Scala
Introducción a ScalaIntroducción a Scala
Introducción a Scala
 
Creación de aplicaciones de bases de datos con MS SQL Server 2012
Creación de aplicaciones de bases de datos con MS SQL Server 2012Creación de aplicaciones de bases de datos con MS SQL Server 2012
Creación de aplicaciones de bases de datos con MS SQL Server 2012
 
Desarrollo Ágil De Aplicaciones Web
Desarrollo Ágil De Aplicaciones WebDesarrollo Ágil De Aplicaciones Web
Desarrollo Ágil De Aplicaciones Web
 
Curso JAVA DESARROLLO DE APLICACIONES JEE.
Curso JAVA DESARROLLO DE APLICACIONES JEE.Curso JAVA DESARROLLO DE APLICACIONES JEE.
Curso JAVA DESARROLLO DE APLICACIONES JEE.
 
Nativescript
NativescriptNativescript
Nativescript
 
Web matrix. armando nuestros sitios dinámicamente con html5, php y mysql
Web matrix.  armando nuestros sitios dinámicamente con html5, php y mysqlWeb matrix.  armando nuestros sitios dinámicamente con html5, php y mysql
Web matrix. armando nuestros sitios dinámicamente con html5, php y mysql
 
01 presentacion
01 presentacion01 presentacion
01 presentacion
 
Seminario html5
Seminario html5Seminario html5
Seminario html5
 
Code Igniter
Code IgniterCode Igniter
Code Igniter
 
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web Grails
 
Arquitectura
Arquitectura Arquitectura
Arquitectura
 
Frameworks JAVA EE 5 de marzo de 2.012
Frameworks JAVA EE 5 de marzo de 2.012Frameworks JAVA EE 5 de marzo de 2.012
Frameworks JAVA EE 5 de marzo de 2.012
 
Principios de diseño de código orientado a objetos SOLID
Principios de diseño de código orientado a objetos SOLIDPrincipios de diseño de código orientado a objetos SOLID
Principios de diseño de código orientado a objetos SOLID
 
Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico...
Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico...Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico...
Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico...
 

Más de TestingAR Meetup

Más de TestingAR Meetup (20)

TestingAR XXXI - ¡A explorar! - la presentación
TestingAR XXXI - ¡A explorar! - la presentaciónTestingAR XXXI - ¡A explorar! - la presentación
TestingAR XXXI - ¡A explorar! - la presentación
 
TestingAR XXV - Hacia la Calidad y más allá por Charo Gonzalez
TestingAR XXV - Hacia la Calidad y más allá por Charo GonzalezTestingAR XXV - Hacia la Calidad y más allá por Charo Gonzalez
TestingAR XXV - Hacia la Calidad y más allá por Charo Gonzalez
 
TestingAR XXIII - Cómo hacer que la calidad sea compromiso de todos - por Be...
TestingAR XXIII - Cómo hacer que la calidad sea compromiso de todos - por Be...TestingAR XXIII - Cómo hacer que la calidad sea compromiso de todos - por Be...
TestingAR XXIII - Cómo hacer que la calidad sea compromiso de todos - por Be...
 
Test Observability
Test ObservabilityTest Observability
Test Observability
 
TestingAR XX - Protractor e2e Test Framework - Introduction what we have lear...
TestingAR XX - Protractor e2e Test Framework - Introduction what we have lear...TestingAR XX - Protractor e2e Test Framework - Introduction what we have lear...
TestingAR XX - Protractor e2e Test Framework - Introduction what we have lear...
 
TestingAR XIX - Investing in Testing - MQ Performance Testing por Souvik Samanta
TestingAR XIX - Investing in Testing - MQ Performance Testing por Souvik SamantaTestingAR XIX - Investing in Testing - MQ Performance Testing por Souvik Samanta
TestingAR XIX - Investing in Testing - MQ Performance Testing por Souvik Samanta
 
TestingAR XVI - Allure Test Reporting Framework
TestingAR XVI - Allure Test Reporting FrameworkTestingAR XVI - Allure Test Reporting Framework
TestingAR XVI - Allure Test Reporting Framework
 
TestingAR XVI - 16 blocks - El QA que prende la luz por Victorio Mancini
TestingAR XVI - 16 blocks - El QA que prende la luz por Victorio ManciniTestingAR XVI - 16 blocks - El QA que prende la luz por Victorio Mancini
TestingAR XVI - 16 blocks - El QA que prende la luz por Victorio Mancini
 
TestingAR XV - Jenkins Pipelines desde la trinchera - Alejandro Sequeira
TestingAR XV - Jenkins Pipelines desde la trinchera - Alejandro SequeiraTestingAR XV - Jenkins Pipelines desde la trinchera - Alejandro Sequeira
TestingAR XV - Jenkins Pipelines desde la trinchera - Alejandro Sequeira
 
TestingAR XI - Beyond the Basics - Planificación de Testing con Matriz ACC
TestingAR XI - Beyond the Basics - Planificación de Testing con Matriz ACCTestingAR XI - Beyond the Basics - Planificación de Testing con Matriz ACC
TestingAR XI - Beyond the Basics - Planificación de Testing con Matriz ACC
 
TestingAR X - Si lo vamos a hacer, lo vamos a hacer bien - Por qué y para qué...
TestingAR X - Si lo vamos a hacer, lo vamos a hacer bien - Por qué y para qué...TestingAR X - Si lo vamos a hacer, lo vamos a hacer bien - Por qué y para qué...
TestingAR X - Si lo vamos a hacer, lo vamos a hacer bien - Por qué y para qué...
 
TestingAR X - Si lo vamos a hacer, lo vamos a hacer bien - "Explorando el Tes...
TestingAR X - Si lo vamos a hacer, lo vamos a hacer bien - "Explorando el Tes...TestingAR X - Si lo vamos a hacer, lo vamos a hacer bien - "Explorando el Tes...
TestingAR X - Si lo vamos a hacer, lo vamos a hacer bien - "Explorando el Tes...
 
TestingAR IX - Retorno de Inversión - POM TestingAr
TestingAR IX - Retorno de Inversión - POM TestingArTestingAR IX - Retorno de Inversión - POM TestingAr
TestingAR IX - Retorno de Inversión - POM TestingAr
 
TestingAR Meetup VIII - Luis Argerich - Una Breve Introducción a Machine Lear...
TestingAR Meetup VIII - Luis Argerich - Una Breve Introducción a Machine Lear...TestingAR Meetup VIII - Luis Argerich - Una Breve Introducción a Machine Lear...
TestingAR Meetup VIII - Luis Argerich - Una Breve Introducción a Machine Lear...
 
TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation
TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automationTestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation
TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation
 
TestingAR VII - Siete Magníficos - Matias Lespiau - Introducción a docker pa...
TestingAR VII - Siete Magníficos - Matias Lespiau - Introducción a docker pa...TestingAR VII - Siete Magníficos - Matias Lespiau - Introducción a docker pa...
TestingAR VII - Siete Magníficos - Matias Lespiau - Introducción a docker pa...
 
TestingAR VI - La Próxima Frontera - José Sahad - Testing is the New Black
TestingAR VI - La Próxima Frontera - José Sahad - Testing is the New BlackTestingAR VI - La Próxima Frontera - José Sahad - Testing is the New Black
TestingAR VI - La Próxima Frontera - José Sahad - Testing is the New Black
 
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
 
TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Des...
TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Des...TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Des...
TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Des...
 
TestingAR Meetup 4to Encuentro - Automatic Software Repair - Rodrigo Martin
TestingAR Meetup 4to Encuentro - Automatic Software Repair - Rodrigo MartinTestingAR Meetup 4to Encuentro - Automatic Software Repair - Rodrigo Martin
TestingAR Meetup 4to Encuentro - Automatic Software Repair - Rodrigo Martin
 

Último

Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
andersonsubero28
 
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbbTema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
antoniolfdez2006
 
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALSESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
EdwinC23
 
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
samuelsan933
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
refrielectriccarlyz
 

Último (20)

Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
 
422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
entropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasentropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemas
 
TAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientosTAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientos
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
 
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbbTema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALSESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
 
Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potable
 
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptxG4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
 
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptx
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
 
3er Informe Laboratorio Quimica General (2) (1).pdf
3er Informe Laboratorio Quimica General  (2) (1).pdf3er Informe Laboratorio Quimica General  (2) (1).pdf
3er Informe Laboratorio Quimica General (2) (1).pdf
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docx
 
Aportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdf
Aportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdfAportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdf
Aportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdf
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptx
 

TestingAR XIX - Investing in Testing - Luz, Cámara, Screenplay! por Rodrigo Martin