SlideShare una empresa de Scribd logo
1 de 65
Descargar para leer sin conexión
E2E Testing Frameworks:
lo bueno, lo malo y lo feo
Ing. Abel Quintana Lopez
@beloquintana
E2E Testing Frameworks: lo bueno, lo malo y lo feo
¿Qué ha sucedido con los frameworks
de automatización de pruebas en los
últimos años?
E2E Testing Frameworks: lo bueno, lo malo y lo feo
E2E Testing Frameworks: lo bueno, lo malo y lo feo
E2E Testing Frameworks: lo bueno, lo malo y lo feo
E2E Testing Frameworks: lo bueno, lo malo y lo feo
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Agenda
❏ Arquitectura de frameworks E2E
❏ Frameworks E2E
❏ ¿Cuál framework E2E usar?
E2E Testing Frameworks: lo bueno, lo malo y lo feo
¿Por qué necesitamos conocer la
diferencia entre los frameworks de
pruebas E2E?
E2E Testing Frameworks: lo bueno, lo malo y lo feo
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Agenda
❏ Arquitectura de frameworks E2E
❏ Frameworks E2E
❏ ¿Cuál framework E2E usar?
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Arquitectura de frameworks de automatización
❏ WebDriver
❏ Chrome Devtools Protocol (CDP)
❏ Javascript Injection
E2E Testing Frameworks: lo bueno, lo malo y lo feo
WebDriver
ChromeDriver
GeckoDriver
SafariDriver
EdgeDriver
WebDriver
E2E Testing Frameworks: lo bueno, lo malo y lo feo
WebDriver
ChromeDriver
GeckoDriver
SafariDriver
EdgeDriver
WebDriver
E2E Testing Frameworks: lo bueno, lo malo y lo feo
WebDriver
ChromeDriver
GeckoDriver
SafariDriver
EdgeDriver
WebDriver
HTTP
E2E Testing Frameworks: lo bueno, lo malo y lo feo
WebDriver - Lo bueno
❏ W3C Standard soportado por los navegadores web
❏ Maneja el navegador de forma nativa como un usuario real
❏ Permite simular todas las acciones de un usuario
❏ Ejecución local y remota
❏ Ejecución de dispositivos móviles, Smart TV, etc
❏ Protocolo de automatización más usado
E2E Testing Frameworks: lo bueno, lo malo y lo feo
WebDriver - Lo malo
❏ Limitaciones de funcionalidades de automatización
❏ No soporta intercepción en la red
❏ No soporta simulación de velocidad de red
❏ No soporta métricas de performance
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Chrome Devtools Protocol
Chrome Devtools Protocol
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Chrome Devtools Protocol
Chrome Devtools Protocol
Bidireccional
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Chrome Devtools Protocol - Lo bueno
❏ Soporta más funcionalidades automatización
❏ Soporta intercepción en la red
❏ Soporta simulación de velocidad de red
❏ Soporta métricas de performance
❏ Bidireccional
❏ Velocidad
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Chrome Devtools Protocol - Lo malo
❏ Soporta un solo navegador
❏ No soporta ejecución en la nube
❏ Sauce Labs
❏ BrowserStack
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Javascript Injection
Javascript Injection
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Javascript Injection
Javascript Injection
JS
JS
JS
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Javascript Injection - Lo bueno
❏ Se ejecuta en el navegador
❏ Control sobre DOM
❏ Velocidad
❏ Manejo de esperas
❏ Funcionalidades adicionales
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Javascript Injection - Lo malo
❏ No soporta eventos nativos
❏ Limitaciones para automatizar todas las acciones de usuario
❏ No tienen buen soporte para múltiples navegadores
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Arquitectura de frameworks de automatización
❏ WebDriver ❏ CDP ❏ Javascript Injection
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Arquitectura de frameworks de automatización
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Frameworks de automatización
Agenda
❏ Arquitectura de frameworks E2E
❏ Frameworks E2E
❏ ¿Cuál framework E2E usar?
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Selenium WebDriver
ChromeDriver
GeckoDriver
SafariDriver
EdgeDriver
WebDriver
HTTP
Script
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Selenium WebDriver
ChromeDriver
GeckoDriver
SafariDriver
EdgeDriver
WebDriver
HTTP
Script
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Selenium WebDriver - Lo bueno
❏ Ventajas de WebDriver
❏ W3C Standard soportado por los navegadores web
❏ Maneja el navegador de forma nativa como un usuario real
❏ Permite simular todas las acciones de un usuario
❏ Ejecución local y remota
❏ Integración con herramientas de automatización
❏ Documentación y comunidad de testing extensa
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Selenium WebDriver - Lo malo
❏ Desventajas de WebDriver
❏ Limitaciones de funcionalidades de automatización
❏ Configuración del proyecto
❏ Drivers
❏ Reportes
E2E Testing Frameworks: lo bueno, lo malo y lo feo
WebDriverIO
ChromeDriver
GeckoDriver
SafariDriver
EdgeDriver
WebDriver
HTTP
Script
E2E Testing Frameworks: lo bueno, lo malo y lo feo
WebDriverIO
ChromeDriver
GeckoDriver
SafariDriver
EdgeDriver
WebDriver
HTTP
Script
CDP
E2E Testing Frameworks: lo bueno, lo malo y lo feo
WebDriverIO - Lo bueno
❏ Ventajas de WebDriver
❏ W3C Standard soportado por los navegadores web
❏ Maneja el navegador de forma nativa como un usuario real
❏ Permite simular todas las acciones de un usuario
❏ Ejecución local y remota
❏ Ventajas de Chrome Devtools Protocol
❏ Configuración del proyecto, reportes
E2E Testing Frameworks: lo bueno, lo malo y lo feo
WebDriverIO - Lo malo
❏ Documentación
❏ Debug
❏ Soporta solo Javascript
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Puppeteer
Script
Chrome Devtools Protocol
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Puppeteer - Lo bueno
❏ Ventajas de Chrome Devtools Protocol
❏ Soporta intercepción en la red
❏ Soporta simulación de velocidad de red
❏ Soporta métricas de performance
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Puppeteer - Lo malo
❏ Soporta un solo navegador
❏ No soporta ejecución en la nube
❏ Sauce Labs
❏ BrowserStack
❏ Soporta solo Javascript
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Playwright
Script
Chrome Devtools Protocol
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Playwright
Script
Chrome Devtools Protocol
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Playwright - Lo bueno
❏ Ventajas de Chrome Devtools Protocol
❏ Soporta intercepción en la red
❏ Soporta simulación de velocidad de red
❏ Soporta métricas de performance
❏ Soporta múltiples navegadores
❏ Soporta Javascript, Java, C#, Python
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Playwright - Lo malo
❏ Muy nuevo
❏ API está evolucionando
❏ La comunidad no es grande
❏ No soporta ejecución en la nube
❏ Sauce Labs
❏ BrowserStack
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Cypress
https://www.toolsqa.com/cypress/what-is-cypress/
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Cypress- Lo bueno
https://www.cypress.io/
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Cypress- Lo bueno
❏ Developer friendly
❏ Se ejecuta en el navegador
❏ Control sobre DOM
❏ Velocidad
❏ Manejo de esperas
❏ Funcionalidades adicionales
https://docs.cypress.io/guides/overview/key-differences
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Cypress- Lo malo
❏ Se ejecuta en el navegador
❏ No soporta eventos nativos
❏ Limitaciones para automatizar todas las acciones de usuario
❏ Múltiples tabs
❏ Múltiples navegadores al mismo tiempo
❏ Same-origin
❏ Código externo de Javascript
https://docs.cypress.io/guides/references/trade-offs
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Frameworks de automatización
❏ WebDriver ❏ CDP ❏ Javascript Injection
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Framework E2E a seguir
2021
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Selenium WebDriver 4
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Selenium WebDriver 4
❏ Soporte para Chrome Devtools Protocol
❏ Intercepción de request
❏ Métricas de performance
❏ Simulación de velocidad de red
❏ Mejoras de Selenium Grid
❏ Localizadores relativos
❏ Propuesta de WebDriver BiDi
Agenda
❏ Arquitectura de frameworks E2E
❏ Frameworks E2E
❏ ¿Cuál framework E2E usar?
E2E Testing Frameworks: lo bueno, lo malo y lo feo
https://applitools.com/blog/2020-front-end-automation-testing/
Frameworks más usados - Applitools
5-
4-
3-
2-
1- 75% de los usuarios
41% de crecimiento
10% de crecimiento
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Frameworks más usados
E2E Testing Frameworks: lo bueno, lo malo y lo feo
¿Cuál framework E2E usar?
1. Contexto
2. Frameworks más usados
E2E Testing Frameworks: lo bueno, lo malo y lo feo
¿Cuál framework E2E usar?
1. Scope Automatización
a. Amplio, complejo y largo plazo
2. Múltiples navegadores
1. Javascript
2. Funcionalidades de CDP
1. Flexibilidad y extensibilidad
2. Comunidad
E2E Testing Frameworks: lo bueno, lo malo y lo feo
¿Cuál framework E2E usar?
1. Javascript
2. CDP / Chrome
1. Muy nuevo
2. Futuro
1. Javascript
2. App simple y moderna
3. Colaboración con desarrollo
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Recurso - Testim - Comparación
https://www.testim.io/blog/puppeteer-selenium-playwright-cypress-how-to-choose/
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Cómo seguir...
Abel Quintana Lopez
https://youtube.com/playlist?list=PLQxDOQ6Qm9Uzinj9vTQ4It1Xhl7nDjYGm
E2E Testing Frameworks: lo bueno, lo malo y lo feo
Fórmula - E2E Testing Frameworks
E2E Testing Frameworks:
lo bueno, lo malo y lo feo
Ing. Abel Quintana Lopez
@beloquintana
¡Muchas Gracias!

Más contenido relacionado

La actualidad más candente

Understanding of linux kernel memory model
Understanding of linux kernel memory modelUnderstanding of linux kernel memory model
Understanding of linux kernel memory modelSeongJae Park
 
JNA - Let's C what it's worth
JNA - Let's C what it's worthJNA - Let's C what it's worth
JNA - Let's C what it's worthIdan Sheinberg
 
The Path Towards Spring Boot Native Applications
The Path Towards Spring Boot Native ApplicationsThe Path Towards Spring Boot Native Applications
The Path Towards Spring Boot Native ApplicationsVMware Tanzu
 
Black Hat EU 2010 - Attacking Java Serialized Communication
Black Hat EU 2010 - Attacking Java Serialized CommunicationBlack Hat EU 2010 - Attacking Java Serialized Communication
Black Hat EU 2010 - Attacking Java Serialized Communicationmsaindane
 
Running Spring Boot Applications as GraalVM Native Images
Running Spring Boot Applications as GraalVM Native ImagesRunning Spring Boot Applications as GraalVM Native Images
Running Spring Boot Applications as GraalVM Native ImagesVMware Tanzu
 
Forging Trusts for Deception in Active Directory
Forging Trusts for Deception in Active DirectoryForging Trusts for Deception in Active Directory
Forging Trusts for Deception in Active DirectoryNikhil Mittal
 
"X" Driven-Development Methodologies
"X" Driven-Development Methodologies"X" Driven-Development Methodologies
"X" Driven-Development MethodologiesDamian T. Gordon
 
Janus @ Meetup Tokyo #12
Janus @ Meetup Tokyo #12Janus @ Meetup Tokyo #12
Janus @ Meetup Tokyo #12Lorenzo Miniero
 
Introduction to jest
Introduction to jestIntroduction to jest
Introduction to jestpksjce
 
Painless JavaScript Testing with Jest
Painless JavaScript Testing with JestPainless JavaScript Testing with Jest
Painless JavaScript Testing with JestMichał Pierzchała
 
Robot framework en Browser Library
Robot framework en Browser LibraryRobot framework en Browser Library
Robot framework en Browser Librarychristiantester
 
Saving Time By Testing With Jest
Saving Time By Testing With JestSaving Time By Testing With Jest
Saving Time By Testing With JestBen McCormick
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)Brian Hong
 

La actualidad más candente (20)

Understanding of linux kernel memory model
Understanding of linux kernel memory modelUnderstanding of linux kernel memory model
Understanding of linux kernel memory model
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
Spring Batch
Spring BatchSpring Batch
Spring Batch
 
Jenkins presentation
Jenkins presentationJenkins presentation
Jenkins presentation
 
JNA - Let's C what it's worth
JNA - Let's C what it's worthJNA - Let's C what it's worth
JNA - Let's C what it's worth
 
Docker and WASM
Docker and WASMDocker and WASM
Docker and WASM
 
The Path Towards Spring Boot Native Applications
The Path Towards Spring Boot Native ApplicationsThe Path Towards Spring Boot Native Applications
The Path Towards Spring Boot Native Applications
 
Black Hat EU 2010 - Attacking Java Serialized Communication
Black Hat EU 2010 - Attacking Java Serialized CommunicationBlack Hat EU 2010 - Attacking Java Serialized Communication
Black Hat EU 2010 - Attacking Java Serialized Communication
 
Running Spring Boot Applications as GraalVM Native Images
Running Spring Boot Applications as GraalVM Native ImagesRunning Spring Boot Applications as GraalVM Native Images
Running Spring Boot Applications as GraalVM Native Images
 
Forging Trusts for Deception in Active Directory
Forging Trusts for Deception in Active DirectoryForging Trusts for Deception in Active Directory
Forging Trusts for Deception in Active Directory
 
"X" Driven-Development Methodologies
"X" Driven-Development Methodologies"X" Driven-Development Methodologies
"X" Driven-Development Methodologies
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Janus @ Meetup Tokyo #12
Janus @ Meetup Tokyo #12Janus @ Meetup Tokyo #12
Janus @ Meetup Tokyo #12
 
Introduction to jest
Introduction to jestIntroduction to jest
Introduction to jest
 
Painless JavaScript Testing with Jest
Painless JavaScript Testing with JestPainless JavaScript Testing with Jest
Painless JavaScript Testing with Jest
 
Dot Net Core
Dot Net CoreDot Net Core
Dot Net Core
 
Robot framework en Browser Library
Robot framework en Browser LibraryRobot framework en Browser Library
Robot framework en Browser Library
 
Saving Time By Testing With Jest
Saving Time By Testing With JestSaving Time By Testing With Jest
Saving Time By Testing With Jest
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 

Similar a Compara principales frameworks E2E

Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJSRodrigo Pimentel
 
To mock or not to mock
To mock or not to mockTo mock or not to mock
To mock or not to mockEloi Poch
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishJordi Llonch
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishJordi Llonch
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishAkamon Engineering
 
Performance de sistemas Angular (Meetup Angular Montevideo)
Performance de sistemas Angular (Meetup Angular Montevideo)Performance de sistemas Angular (Meetup Angular Montevideo)
Performance de sistemas Angular (Meetup Angular Montevideo)Federico Toledo
 
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe... Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...Federico Toledo
 
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Abstracta
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas.. ..
 
52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...
52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...
52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...GeneXus
 
Pruebas automatizadas de aceptación en aplicaciones web
Pruebas automatizadas de aceptación en aplicaciones webPruebas automatizadas de aceptación en aplicaciones web
Pruebas automatizadas de aceptación en aplicaciones webGiannis Morales
 
Meetup TestingUy 2018 - Selenium en la actualidad
Meetup TestingUy 2018 - Selenium en la actualidadMeetup TestingUy 2018 - Selenium en la actualidad
Meetup TestingUy 2018 - Selenium en la actualidadTestingUy
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?Micael Gallego
 
Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...
Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...
Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...Federico Toledo
 
Conferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsConferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsDavid Calavera
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurancewill2294
 
Taller Evento TestingUY 2018 - Test Automation Gourmet
Taller Evento TestingUY 2018 - Test Automation GourmetTaller Evento TestingUY 2018 - Test Automation Gourmet
Taller Evento TestingUY 2018 - Test Automation GourmetTestingUy
 

Similar a Compara principales frameworks E2E (20)

Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJS
 
To mock or not to mock
To mock or not to mockTo mock or not to mock
To mock or not to mock
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
 
Performance de sistemas Angular (Meetup Angular Montevideo)
Performance de sistemas Angular (Meetup Angular Montevideo)Performance de sistemas Angular (Meetup Angular Montevideo)
Performance de sistemas Angular (Meetup Angular Montevideo)
 
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe... Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas
 
52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...
52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...
52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...
 
Pruebas automatizadas de aceptación en aplicaciones web
Pruebas automatizadas de aceptación en aplicaciones webPruebas automatizadas de aceptación en aplicaciones web
Pruebas automatizadas de aceptación en aplicaciones web
 
Meetup TestingUy 2018 - Selenium en la actualidad
Meetup TestingUy 2018 - Selenium en la actualidadMeetup TestingUy 2018 - Selenium en la actualidad
Meetup TestingUy 2018 - Selenium en la actualidad
 
Meetup TestingUY 2018 - Selenium en la actualidad
Meetup TestingUY 2018 - Selenium en la actualidadMeetup TestingUY 2018 - Selenium en la actualidad
Meetup TestingUY 2018 - Selenium en la actualidad
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?
 
El coste de no usar integración continua
El coste de no usar integración continuaEl coste de no usar integración continua
El coste de no usar integración continua
 
Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...
Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...
Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...
 
Conferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsConferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y Rails
 
Testlink
TestlinkTestlink
Testlink
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Taller Evento TestingUY 2018 - Test Automation Gourmet
Taller Evento TestingUY 2018 - Test Automation GourmetTaller Evento TestingUY 2018 - Test Automation Gourmet
Taller Evento TestingUY 2018 - Test Automation Gourmet
 

Más de Abel Quintana Lopez

Testing como parte de la cultura DevOps
Testing como parte de la cultura DevOpsTesting como parte de la cultura DevOps
Testing como parte de la cultura DevOpsAbel Quintana Lopez
 
TestingUY 2019. Patrones de diseño en la automatización PageObject o ScreenPlay.
TestingUY 2019. Patrones de diseño en la automatización PageObject o ScreenPlay.TestingUY 2019. Patrones de diseño en la automatización PageObject o ScreenPlay.
TestingUY 2019. Patrones de diseño en la automatización PageObject o ScreenPlay.Abel Quintana Lopez
 
Introducción a la automatización de pruebas con tecnologías .Net
Introducción a la automatización de pruebas con tecnologías .NetIntroducción a la automatización de pruebas con tecnologías .Net
Introducción a la automatización de pruebas con tecnologías .NetAbel Quintana Lopez
 
Patrones de diseño en la automatización PageObject o ScreenPlay
Patrones de diseño en la automatización PageObject o ScreenPlayPatrones de diseño en la automatización PageObject o ScreenPlay
Patrones de diseño en la automatización PageObject o ScreenPlayAbel Quintana Lopez
 
Cómo iniciarme en el mundo de la automatización de pruebas
Cómo iniciarme en el mundo de la automatización de pruebasCómo iniciarme en el mundo de la automatización de pruebas
Cómo iniciarme en el mundo de la automatización de pruebasAbel Quintana Lopez
 
Ejecutando pruebas automatizadas desde la nube
Ejecutando pruebas automatizadas desde la nubeEjecutando pruebas automatizadas desde la nube
Ejecutando pruebas automatizadas desde la nubeAbel Quintana Lopez
 

Más de Abel Quintana Lopez (6)

Testing como parte de la cultura DevOps
Testing como parte de la cultura DevOpsTesting como parte de la cultura DevOps
Testing como parte de la cultura DevOps
 
TestingUY 2019. Patrones de diseño en la automatización PageObject o ScreenPlay.
TestingUY 2019. Patrones de diseño en la automatización PageObject o ScreenPlay.TestingUY 2019. Patrones de diseño en la automatización PageObject o ScreenPlay.
TestingUY 2019. Patrones de diseño en la automatización PageObject o ScreenPlay.
 
Introducción a la automatización de pruebas con tecnologías .Net
Introducción a la automatización de pruebas con tecnologías .NetIntroducción a la automatización de pruebas con tecnologías .Net
Introducción a la automatización de pruebas con tecnologías .Net
 
Patrones de diseño en la automatización PageObject o ScreenPlay
Patrones de diseño en la automatización PageObject o ScreenPlayPatrones de diseño en la automatización PageObject o ScreenPlay
Patrones de diseño en la automatización PageObject o ScreenPlay
 
Cómo iniciarme en el mundo de la automatización de pruebas
Cómo iniciarme en el mundo de la automatización de pruebasCómo iniciarme en el mundo de la automatización de pruebas
Cómo iniciarme en el mundo de la automatización de pruebas
 
Ejecutando pruebas automatizadas desde la nube
Ejecutando pruebas automatizadas desde la nubeEjecutando pruebas automatizadas desde la nube
Ejecutando pruebas automatizadas desde la nube
 

Último

Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 

Último (7)

Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 

Compara principales frameworks E2E

  • 1. E2E Testing Frameworks: lo bueno, lo malo y lo feo Ing. Abel Quintana Lopez @beloquintana
  • 2. E2E Testing Frameworks: lo bueno, lo malo y lo feo ¿Qué ha sucedido con los frameworks de automatización de pruebas en los últimos años?
  • 3. E2E Testing Frameworks: lo bueno, lo malo y lo feo
  • 4. E2E Testing Frameworks: lo bueno, lo malo y lo feo
  • 5. E2E Testing Frameworks: lo bueno, lo malo y lo feo
  • 6. E2E Testing Frameworks: lo bueno, lo malo y lo feo
  • 7. E2E Testing Frameworks: lo bueno, lo malo y lo feo
  • 8. Agenda ❏ Arquitectura de frameworks E2E ❏ Frameworks E2E ❏ ¿Cuál framework E2E usar?
  • 9.
  • 10.
  • 11. E2E Testing Frameworks: lo bueno, lo malo y lo feo ¿Por qué necesitamos conocer la diferencia entre los frameworks de pruebas E2E?
  • 12. E2E Testing Frameworks: lo bueno, lo malo y lo feo
  • 13. E2E Testing Frameworks: lo bueno, lo malo y lo feo
  • 14. Agenda ❏ Arquitectura de frameworks E2E ❏ Frameworks E2E ❏ ¿Cuál framework E2E usar?
  • 15. E2E Testing Frameworks: lo bueno, lo malo y lo feo Arquitectura de frameworks de automatización ❏ WebDriver ❏ Chrome Devtools Protocol (CDP) ❏ Javascript Injection
  • 16. E2E Testing Frameworks: lo bueno, lo malo y lo feo WebDriver ChromeDriver GeckoDriver SafariDriver EdgeDriver WebDriver
  • 17. E2E Testing Frameworks: lo bueno, lo malo y lo feo WebDriver ChromeDriver GeckoDriver SafariDriver EdgeDriver WebDriver
  • 18. E2E Testing Frameworks: lo bueno, lo malo y lo feo WebDriver ChromeDriver GeckoDriver SafariDriver EdgeDriver WebDriver HTTP
  • 19. E2E Testing Frameworks: lo bueno, lo malo y lo feo WebDriver - Lo bueno ❏ W3C Standard soportado por los navegadores web ❏ Maneja el navegador de forma nativa como un usuario real ❏ Permite simular todas las acciones de un usuario ❏ Ejecución local y remota ❏ Ejecución de dispositivos móviles, Smart TV, etc ❏ Protocolo de automatización más usado
  • 20. E2E Testing Frameworks: lo bueno, lo malo y lo feo WebDriver - Lo malo ❏ Limitaciones de funcionalidades de automatización ❏ No soporta intercepción en la red ❏ No soporta simulación de velocidad de red ❏ No soporta métricas de performance
  • 21. E2E Testing Frameworks: lo bueno, lo malo y lo feo Chrome Devtools Protocol Chrome Devtools Protocol
  • 22. E2E Testing Frameworks: lo bueno, lo malo y lo feo Chrome Devtools Protocol Chrome Devtools Protocol Bidireccional
  • 23. E2E Testing Frameworks: lo bueno, lo malo y lo feo Chrome Devtools Protocol - Lo bueno ❏ Soporta más funcionalidades automatización ❏ Soporta intercepción en la red ❏ Soporta simulación de velocidad de red ❏ Soporta métricas de performance ❏ Bidireccional ❏ Velocidad
  • 24. E2E Testing Frameworks: lo bueno, lo malo y lo feo Chrome Devtools Protocol - Lo malo ❏ Soporta un solo navegador ❏ No soporta ejecución en la nube ❏ Sauce Labs ❏ BrowserStack
  • 25. E2E Testing Frameworks: lo bueno, lo malo y lo feo Javascript Injection Javascript Injection
  • 26. E2E Testing Frameworks: lo bueno, lo malo y lo feo Javascript Injection Javascript Injection JS JS JS
  • 27. E2E Testing Frameworks: lo bueno, lo malo y lo feo Javascript Injection - Lo bueno ❏ Se ejecuta en el navegador ❏ Control sobre DOM ❏ Velocidad ❏ Manejo de esperas ❏ Funcionalidades adicionales
  • 28. E2E Testing Frameworks: lo bueno, lo malo y lo feo Javascript Injection - Lo malo ❏ No soporta eventos nativos ❏ Limitaciones para automatizar todas las acciones de usuario ❏ No tienen buen soporte para múltiples navegadores
  • 29. E2E Testing Frameworks: lo bueno, lo malo y lo feo Arquitectura de frameworks de automatización ❏ WebDriver ❏ CDP ❏ Javascript Injection
  • 30. E2E Testing Frameworks: lo bueno, lo malo y lo feo Arquitectura de frameworks de automatización
  • 31. E2E Testing Frameworks: lo bueno, lo malo y lo feo Frameworks de automatización
  • 32. Agenda ❏ Arquitectura de frameworks E2E ❏ Frameworks E2E ❏ ¿Cuál framework E2E usar?
  • 33. E2E Testing Frameworks: lo bueno, lo malo y lo feo Selenium WebDriver ChromeDriver GeckoDriver SafariDriver EdgeDriver WebDriver HTTP Script
  • 34. E2E Testing Frameworks: lo bueno, lo malo y lo feo Selenium WebDriver ChromeDriver GeckoDriver SafariDriver EdgeDriver WebDriver HTTP Script
  • 35. E2E Testing Frameworks: lo bueno, lo malo y lo feo Selenium WebDriver - Lo bueno ❏ Ventajas de WebDriver ❏ W3C Standard soportado por los navegadores web ❏ Maneja el navegador de forma nativa como un usuario real ❏ Permite simular todas las acciones de un usuario ❏ Ejecución local y remota ❏ Integración con herramientas de automatización ❏ Documentación y comunidad de testing extensa
  • 36. E2E Testing Frameworks: lo bueno, lo malo y lo feo Selenium WebDriver - Lo malo ❏ Desventajas de WebDriver ❏ Limitaciones de funcionalidades de automatización ❏ Configuración del proyecto ❏ Drivers ❏ Reportes
  • 37. E2E Testing Frameworks: lo bueno, lo malo y lo feo WebDriverIO ChromeDriver GeckoDriver SafariDriver EdgeDriver WebDriver HTTP Script
  • 38. E2E Testing Frameworks: lo bueno, lo malo y lo feo WebDriverIO ChromeDriver GeckoDriver SafariDriver EdgeDriver WebDriver HTTP Script CDP
  • 39. E2E Testing Frameworks: lo bueno, lo malo y lo feo WebDriverIO - Lo bueno ❏ Ventajas de WebDriver ❏ W3C Standard soportado por los navegadores web ❏ Maneja el navegador de forma nativa como un usuario real ❏ Permite simular todas las acciones de un usuario ❏ Ejecución local y remota ❏ Ventajas de Chrome Devtools Protocol ❏ Configuración del proyecto, reportes
  • 40. E2E Testing Frameworks: lo bueno, lo malo y lo feo WebDriverIO - Lo malo ❏ Documentación ❏ Debug ❏ Soporta solo Javascript
  • 41. E2E Testing Frameworks: lo bueno, lo malo y lo feo Puppeteer Script Chrome Devtools Protocol
  • 42. E2E Testing Frameworks: lo bueno, lo malo y lo feo Puppeteer - Lo bueno ❏ Ventajas de Chrome Devtools Protocol ❏ Soporta intercepción en la red ❏ Soporta simulación de velocidad de red ❏ Soporta métricas de performance
  • 43. E2E Testing Frameworks: lo bueno, lo malo y lo feo Puppeteer - Lo malo ❏ Soporta un solo navegador ❏ No soporta ejecución en la nube ❏ Sauce Labs ❏ BrowserStack ❏ Soporta solo Javascript
  • 44. E2E Testing Frameworks: lo bueno, lo malo y lo feo Playwright Script Chrome Devtools Protocol
  • 45. E2E Testing Frameworks: lo bueno, lo malo y lo feo Playwright Script Chrome Devtools Protocol
  • 46. E2E Testing Frameworks: lo bueno, lo malo y lo feo Playwright - Lo bueno ❏ Ventajas de Chrome Devtools Protocol ❏ Soporta intercepción en la red ❏ Soporta simulación de velocidad de red ❏ Soporta métricas de performance ❏ Soporta múltiples navegadores ❏ Soporta Javascript, Java, C#, Python
  • 47. E2E Testing Frameworks: lo bueno, lo malo y lo feo Playwright - Lo malo ❏ Muy nuevo ❏ API está evolucionando ❏ La comunidad no es grande ❏ No soporta ejecución en la nube ❏ Sauce Labs ❏ BrowserStack
  • 48. E2E Testing Frameworks: lo bueno, lo malo y lo feo Cypress https://www.toolsqa.com/cypress/what-is-cypress/
  • 49. E2E Testing Frameworks: lo bueno, lo malo y lo feo Cypress- Lo bueno https://www.cypress.io/
  • 50. E2E Testing Frameworks: lo bueno, lo malo y lo feo Cypress- Lo bueno ❏ Developer friendly ❏ Se ejecuta en el navegador ❏ Control sobre DOM ❏ Velocidad ❏ Manejo de esperas ❏ Funcionalidades adicionales https://docs.cypress.io/guides/overview/key-differences
  • 51. E2E Testing Frameworks: lo bueno, lo malo y lo feo Cypress- Lo malo ❏ Se ejecuta en el navegador ❏ No soporta eventos nativos ❏ Limitaciones para automatizar todas las acciones de usuario ❏ Múltiples tabs ❏ Múltiples navegadores al mismo tiempo ❏ Same-origin ❏ Código externo de Javascript https://docs.cypress.io/guides/references/trade-offs
  • 52. E2E Testing Frameworks: lo bueno, lo malo y lo feo Frameworks de automatización ❏ WebDriver ❏ CDP ❏ Javascript Injection
  • 53. E2E Testing Frameworks: lo bueno, lo malo y lo feo Framework E2E a seguir 2021
  • 54. E2E Testing Frameworks: lo bueno, lo malo y lo feo Selenium WebDriver 4
  • 55. E2E Testing Frameworks: lo bueno, lo malo y lo feo Selenium WebDriver 4 ❏ Soporte para Chrome Devtools Protocol ❏ Intercepción de request ❏ Métricas de performance ❏ Simulación de velocidad de red ❏ Mejoras de Selenium Grid ❏ Localizadores relativos ❏ Propuesta de WebDriver BiDi
  • 56. Agenda ❏ Arquitectura de frameworks E2E ❏ Frameworks E2E ❏ ¿Cuál framework E2E usar?
  • 57. E2E Testing Frameworks: lo bueno, lo malo y lo feo https://applitools.com/blog/2020-front-end-automation-testing/ Frameworks más usados - Applitools 5- 4- 3- 2- 1- 75% de los usuarios 41% de crecimiento 10% de crecimiento
  • 58. E2E Testing Frameworks: lo bueno, lo malo y lo feo Frameworks más usados
  • 59. E2E Testing Frameworks: lo bueno, lo malo y lo feo ¿Cuál framework E2E usar? 1. Contexto 2. Frameworks más usados
  • 60. E2E Testing Frameworks: lo bueno, lo malo y lo feo ¿Cuál framework E2E usar? 1. Scope Automatización a. Amplio, complejo y largo plazo 2. Múltiples navegadores 1. Javascript 2. Funcionalidades de CDP 1. Flexibilidad y extensibilidad 2. Comunidad
  • 61. E2E Testing Frameworks: lo bueno, lo malo y lo feo ¿Cuál framework E2E usar? 1. Javascript 2. CDP / Chrome 1. Muy nuevo 2. Futuro 1. Javascript 2. App simple y moderna 3. Colaboración con desarrollo
  • 62. E2E Testing Frameworks: lo bueno, lo malo y lo feo Recurso - Testim - Comparación https://www.testim.io/blog/puppeteer-selenium-playwright-cypress-how-to-choose/
  • 63. E2E Testing Frameworks: lo bueno, lo malo y lo feo Cómo seguir... Abel Quintana Lopez https://youtube.com/playlist?list=PLQxDOQ6Qm9Uzinj9vTQ4It1Xhl7nDjYGm
  • 64. E2E Testing Frameworks: lo bueno, lo malo y lo feo Fórmula - E2E Testing Frameworks
  • 65. E2E Testing Frameworks: lo bueno, lo malo y lo feo Ing. Abel Quintana Lopez @beloquintana ¡Muchas Gracias!