Pruebas para la Web Moderna con Playwright

Rate this content
Bookmark

La plataforma web moderna está en constante evolución. Las aplicaciones web de hoy en día son más sofisticadas que nunca y las pruebas para la web moderna requieren primitivas modernas. En esta charla, cubriremos cómo Playwright permite de manera única a los desarrolladores web enviar más rápido y con más confianza.

FAQ

Playwright es una biblioteca desarrollada por Microsoft para realizar pruebas de extremo a extremo en múltiples navegadores de aplicaciones web. Se utiliza para automatizar pruebas en diferentes navegadores como Chromium, Firefox y WebKit, asegurando que las aplicaciones funcionen correctamente en diversos entornos.

Playwright permite la automatización de pruebas en múltiples navegadores sin compromisos, proporciona herramientas para ejecutar pruebas de manera confiable evitando problemas de inestabilidad y tiempos de espera, y facilita una ejecución rápida de pruebas, similar a las pruebas unitarias.

Playwright mejora la eficiencia del proceso de prueba permitiendo a los equipos de desarrollo y prueba automatizar completamente sus pruebas de extremo a extremo, reduciendo los tiempos de espera y los problemas de inestabilidad, y acelerando los ciclos de lanzamiento con ejecuciones más rápidas.

Playwright está disponible en varios lenguajes de programación, incluidos JavaScript, Python, C-Sharp y Java, lo que permite a los equipos utilizar la herramienta en el lenguaje que prefieran o se ajuste mejor a sus proyectos.

Playwright ofrece automatización sin compromisos, con soporte para múltiples navegadores y plataformas, incluido un soporte robusto para WebKit en diferentes sistemas operativos. Además, permite pruebas más complejas que involucran múltiples páginas, iframes de diferentes dominios y eventos de entrada nativos.

Playwright puede emular dispositivos móviles y permite la ejecución de pruebas en modos sin cabeza y con interfaz gráfica en todas las plataformas. Esto facilita probar aplicaciones en diferentes dispositivos y configuraciones, asegurando una cobertura amplia y efectiva.

El equipo de desarrollo de Playwright se enfoca en mejorar la facilidad de inicio y depuración de las pruebas. Están trabajando en un runner de pruebas integrado y en mejorar la interfaz de depuración para simplificar el proceso de mantenimiento de las pruebas a lo largo del tiempo.

Arjun Attam
Arjun Attam
30 min
15 Jun, 2021

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Arjun presenta Playwright, una biblioteca para pruebas de extremo a extremo de aplicaciones web en múltiples navegadores. Los desafíos en las pruebas web modernas incluyen la evolución de la plataforma web y los frameworks reactivos. Playwright ofrece automatización capaz, confiable y rápida, con la capacidad de capturar eventos y mejorar la confiabilidad de las pruebas. Utiliza contextos de navegador para una ejecución más rápida y admite múltiples lenguajes y frameworks. Playwright es utilizado por empresas como VS Code, Bing, Adobe y Material UI, y ofrece soporte multi-navegador y una hoja de ruta en constante mejora.

1. Introducción a las pruebas en la web moderna

Short description:

Hola, mi nombre es Arjun y estoy emocionado de estar aquí en Test.js y hablarles sobre las pruebas. Soy un gerente de programa en Microsoft, donde mi equipo está construyendo Playwright. Playwright es una nueva biblioteca para pruebas de extremo a extremo en múltiples navegadores de aplicaciones web. En esta charla les hablaré sobre las pruebas en la web moderna. Mi equipo y yo hemos interactuado con cientos de probadores y desarrolladores que están construyendo aplicaciones web modernas, y hemos diseñado Playwright para satisfacer sus necesidades.

Hola, mi nombre es Arjun y estoy emocionado de estar aquí en Test.js y hablarles sobre las pruebas. Soy un gerente de programa en Microsoft, donde mi equipo está construyendo Playwright. Playwright es una nueva biblioteca para pruebas de extremo a extremo en múltiples navegadores de aplicaciones web.

En esta charla les hablaré sobre las pruebas en la web moderna. Mi equipo y yo hemos interactuado con cientos de probadores y desarrolladores que están construyendo aplicaciones web modernas, y hemos diseñado Playwright para satisfacer sus necesidades. También les mostraré las ideas principales detrás de Playwright y espero convencerlos de por qué Playwright es la herramienta de pruebas adecuada si están construyendo una aplicación web moderna.

Comencemos. Empecemos hablando sobre la plataforma web moderna. La plataforma web moderna es más capaz que nunca. Los navegadores web han madurado significativamente en los últimos años. Se ejecutan en todos los dispositivos que tenemos, incluyendo nuestro escritorio, nuestros teléfonos y televisores inteligentes. También ha habido una continua incorporación de nuevas características en la plataforma web. Por ejemplo, la web ahora puede detectar tu ubicación actual, puede conectarse a dispositivos Bluetooth y también interactuar con tu sistema de archivos. El ritmo de innovación en la plataforma web ha sido increíble.

2. Desafíos en las Pruebas en la Web Moderna

Short description:

Estos cambios en la plataforma web han impulsado la innovación en el mundo de las aplicaciones. Las aplicaciones web de hoy en día son aplicaciones completas con interacciones ricas y receptivas. Los equipos están luchando por automatizar todas las partes de su aplicación debido a la evolución de la plataforma web y los desafíos planteados por los marcos reactivos. Esto ha resultado en que las pruebas de extremo a extremo ralenticen a los equipos en lugar de ayudarles a avanzar más rápido. Las pruebas en la web moderna deben ser capaces, confiables y rápidas para mantenerse al día con el cambiante panorama web.

Estos cambios en la plataforma web han impulsado la innovación en el mundo de las aplicaciones. Si observamos las aplicaciones de escritorio, son muy similares a lo que eran hace 10 años, pero las aplicaciones web son muy diferentes. Las aplicaciones web de hoy en día son aplicaciones completas que tienen interacciones ricas y receptivas. Estamos construyendo aplicaciones de una sola página que se crean con nuevos frameworks reactivos de JavaScript. También estamos construyendo PWAs que están reemplazando a las aplicaciones nativas. Tanto la plataforma como nuestras aplicaciones en la web han evolucionado significativamente.

Con estos cambios, también hemos visto cambios en la forma en que los equipos operan. Los equipos de desarrolladores y probadores están avanzando más rápido. Muchos equipos están construyendo aplicaciones hoy en día y hay presiones competitivas que los empujan a lanzar más rápido, porque así es como logran sus objetivos comerciales. Esto ha llevado a los equipos a adoptar flujos de trabajo más nuevos como CI, CD y despliegue continuo. Los equipos también están buscando soluciones de pruebas automatizadas para poder lanzar aún más rápido. Desafortunadamente, las pruebas de extremo a extremo no han evolucionado tan rápido como la web misma. Hablemos un poco más sobre eso.

Las pruebas de extremo a extremo deben evolucionar para los cambios que hemos mencionado en la web moderna. Por ejemplo, las pruebas deben poder automatizar las nuevas características de la plataforma que están apareciendo en los navegadores. Estas incluyen capacidades disponibles en navegadores de escritorio, capacidades disponibles en navegadores móviles e incluso capacidades que se están impulsando en televisores inteligentes. Los equipos están luchando por poder automatizar todas las partes de su aplicación porque sus pruebas no pueden cubrir todas las capacidades que están utilizando. Las aplicaciones de hoy en día también son más difíciles de automatizar. Las pruebas no pueden mantenerse al día con cómo funcionan los frameworks reactivos. Por lo tanto, los equipos que están construyendo aplicaciones de una sola página con interacciones ricas encuentran que sus pruebas de extremo a extremo son inestables. No pueden automatizar de manera confiable las interacciones del usuario en sus aplicaciones. Lo que sucede como resultado es que las pruebas de extremo a extremo que en realidad deberían ayudarte a avanzar más rápido, en realidad están ralentizando a los equipos. Los equipos terminan teniendo que agregar tiempos de espera o reintentos para poder manejar problemas de confiabilidad. Los equipos están luchando con problemas de cobertura porque no pueden automatizar todas las partes de su aplicación. Por lo tanto, las pruebas de extremo a extremo están ralentizando a los equipos cuando realmente necesitan poder lanzar más rápido. Estos tres problemas son la razón por la cual las pruebas de extremo a extremo no han podido evolucionar para la web moderna. Y estos tres problemas nos dan realmente los tres pilares de las pruebas en la web moderna. Las pruebas en la web moderna deben ser capaces para poder automatizar todas las posibles capacidades de la plataforma web moderna. Las pruebas en la web moderna también deben ser confiables, lo que significa que deben poder automatizar de manera confiable las interacciones del usuario con aplicaciones web altamente ricas y receptivas. Y finalmente, las pruebas en la web moderna deben ser rápidas, lo que significa que deben poder acelerar nuestros procesos de envío y lanzamiento en lugar de ralentizarlos.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Pruebas de Aplicaciones Web con Playwright
TestJS Summit 2022TestJS Summit 2022
20 min
Pruebas de Aplicaciones Web con Playwright
Top Content
Las pruebas son difíciles, las pruebas requieren tiempo para aprender y escribir, y el tiempo es dinero. Como desarrolladores queremos probar. Sabemos que deberíamos pero no tenemos tiempo. Entonces, ¿cómo podemos conseguir que más desarrolladores hagan pruebas? Podemos crear mejores herramientas.Permíteme presentarte a Playwright - Pruebas confiables de extremo a extremo en diferentes navegadores para aplicaciones web modernas, por Microsoft y completamente de código abierto. El codegen de Playwright genera pruebas para ti en JavaScript, TypeScript, Dot Net, Java o Python. Ahora realmente no tienes excusas. Es hora de jugar tus pruebas correctamente.
Pruebas de ciclo completo con Cypress
TestJS Summit 2022TestJS Summit 2022
27 min
Pruebas de ciclo completo con Cypress
Top Content
Cypress ha tomado al mundo por sorpresa al traer una herramienta fácil de usar para pruebas de extremo a extremo. Sus capacidades han demostrado ser útiles para crear pruebas estables para aplicaciones de frontend. Pero las pruebas de extremo a extremo son solo una pequeña parte de los esfuerzos de prueba. ¿Qué pasa con tu API? ¿Qué pasa con tus componentes? Bueno, en mi charla me gustaría mostrarte cómo podemos comenzar con pruebas de extremo a extremo, profundizar con pruebas de componentes y luego subir a probar nuestra API, circ
Todos pueden escribir pruebas fácilmente
TestJS Summit 2023TestJS Summit 2023
21 min
Todos pueden escribir pruebas fácilmente
Echemos un vistazo a cómo Playwright puede ayudarte a escribir tus pruebas de extremo a extremo con herramientas como Codegen que generan pruebas basadas en la interacción del usuario. Exploraremos el modo UI para una mejor experiencia de desarrollador y luego repasaremos algunos consejos para asegurarnos de que no tengas pruebas inestables. Luego hablemos de cómo poner en marcha tus pruebas en CI, depurar en CI y escalar usando fragmentos.
Pruebas pequeñas, grandes resultados
TestJS Summit 2022TestJS Summit 2022
21 min
Pruebas pequeñas, grandes resultados
Sí, las cosas grandes vienen en paquetes pequeños. Por ejemplo, ¿no es fantástica la velocidad, retroalimentación y confiabilidad de una prueba unitaria? ¿Sabías que también podemos obtener retroalimentación rápida, enfocada y confiable de nuestras pruebas funcionales de extremo a extremo? Las pruebas atómicas de extremo a extremo son aquellas que son específicas y enfocadas. Son pequeñas en tamaño pero tienen un gran impacto. Este tutorial te enseñará cómo crear pruebas atómicas de extremo a extremo con varios ejemplos de código. Primero, utilizaremos Cypress.io para autenticarnos mediante la configuración de una cookie en lugar de utilizar una interfaz de usuario. Segundo, utilizaremos Cypress.io para establecer un JSON Web Token para la autenticación. Únete a mí y escribamos pruebas pequeñas para obtener grandes resultados.
Quizá No Necesitemos Pruebas de Componentes
Vue.js Live 2024Vue.js Live 2024
26 min
Quizá No Necesitemos Pruebas de Componentes
Las pruebas son obligatorias y las pruebas unitarias son la base para construir un buen sistema de pruebas para nuestro proyecto. Pero para proyectos de frontend que involucran componentes, ¿cuántas pruebas unitarias se consideran eficientes y no excesivas? ¿Deberíamos usar bibliotecas adicionales como Testing Library o Vue Test Utils con Vitest para probar un componente, cuando podemos hacer lo mismo solo con Playwright? ¿Realmente es necesario realizar una prueba de componente utilizando un framework de E2E como Playwright? Descubrámoslo en mi charla.
Prueba del Servicio de Correo con Playwright
TestJS Summit 2022TestJS Summit 2022
17 min
Prueba del Servicio de Correo con Playwright
Top Content
Enviamos correos electrónicos a nuestros usuarios - verificación de cuenta y boletines informativos. Permitimos que el usuario nos contacte enviando un correo electrónico a través de un formulario incorporado. ¿Lo hacemos? ¿Recibe el usuario un correo electrónico de verificación de cuenta o exactamente la notificación para la que se inscribió? Podemos cubrir esta funcionalidad como parte de las pruebas E2E: obtener un correo electrónico y abrirlo para verificar qué contiene. Necesitaremos Playwright y un servidor SMTP falso para capturar los correos electrónicos enviados por la aplicación.

Workshops on related topic

Detox 101: Cómo escribir pruebas de extremo a extremo estables para su aplicación React Native
React Summit 2022React Summit 2022
117 min
Detox 101: Cómo escribir pruebas de extremo a extremo estables para su aplicación React Native
Top Content
WorkshopFree
Yevheniia Hlovatska
Yevheniia Hlovatska
A diferencia de las pruebas unitarias, las pruebas de extremo a extremo buscan interactuar con su aplicación tal como lo haría un usuario real. Y como todos sabemos, puede ser bastante desafiante. Especialmente cuando hablamos de aplicaciones móviles.
Las pruebas dependen de muchas condiciones y se consideran lentas e inestables. Por otro lado, las pruebas de extremo a extremo pueden dar la mayor confianza de que su aplicación está funcionando. Y si se hace correctamente, puede convertirse en una herramienta increíble para aumentar la velocidad del desarrollador.
Detox es un marco de pruebas de extremo a extremo en caja gris para aplicaciones móviles. Desarrollado por Wix para resolver el problema de la lentitud e inestabilidad y utilizado por React Native en sí como su herramienta de pruebas E2E.
Únete a mí en esta masterclass para aprender cómo hacer que tus pruebas de extremo a extremo móviles con Detox sean excelentes.
Prerrequisitos- iOS/Android: MacOS Catalina o más reciente- Solo Android: Linux- Instalar antes de la masterclass
Pruebas de Aplicaciones Web utilizando Cypress
TestJS Summit - January, 2021TestJS Summit - January, 2021
173 min
Pruebas de Aplicaciones Web utilizando Cypress
WorkshopFree
Gleb Bahmutov
Gleb Bahmutov
Este masterclass te enseñará los conceptos básicos de cómo escribir pruebas de extremo a extremo utilizando Cypress Test Runner.
Cubriremos la escritura de pruebas, abarcando todas las características de la aplicación, estructurando las pruebas, interceptando solicitudes de red y configurando los datos del backend.
Cualquier persona que conozca el lenguaje de programación JavaScript y tenga NPM instalado podrá seguir el masterclass.
Construyendo una suite de pruebas significativa que no sea todo E2E
TestJS Summit 2023TestJS Summit 2023
89 min
Construyendo una suite de pruebas significativa que no sea todo E2E
Workshop
David Burns
David Burns
Todos somos enseñados a seguir la Pirámide de Pruebas pero la realidad es que construimos el Árbol de Pruebas de Navidad. En esta masterclass, David te explicará cómo desglosar proyectos y poner las pruebas donde necesitan estar. Al final de la masterclass, podrás actualizar tus proyectos para que cualquiera y todos puedan empezar a contribuir y realmente vivir según "La calidad es el trabajo de todos".
Te guiará a través de:- Pruebas de Componentes- Pruebas de API- Pruebas de Regresión Visual- Pruebas A11Y
También te explicará cómo configurar todo esto en tu pipeline de CI/CD para que puedas obtener ciclos de feedback más cortos y rápidos.
Depuración en vivo de pruebas de extremo a extremo para una aplicación serverless distribuida
TestJS Summit 2021TestJS Summit 2021
146 min
Depuración en vivo de pruebas de extremo a extremo para una aplicación serverless distribuida
WorkshopFree
Serkan Ozal
Oguzhan Ozdemir
2 authors
En este masterclass, construiremos un entorno de pruebas para una aplicación preconstruida, luego escribiremos y automatizaremos pruebas de extremo a extremo para nuestra aplicación serverless. Y en el último paso, demostraremos lo fácil que es entender la causa raíz de una prueba errónea utilizando pruebas distribuidas y cómo depurarla en nuestro pipeline de CI/CD con Thundra Foresight.

Tabla de contenidos:
- Cómo configurar y probar tu infraestructura en la nube
- Cómo escribir y automatizar pruebas de extremo a extremo para tus cargas de trabajo serverless
- Cómo depurar, rastrear y solucionar problemas de fallas en las pruebas con Thundra Foresight en tus pipelines de CI/CD
Infraestructura Uniforme de Automatización de Navegadores
TestJS Summit - January, 2021TestJS Summit - January, 2021
127 min
Infraestructura Uniforme de Automatización de Navegadores
Workshop
Ivan Krutov
Ivan Krutov
En este masterclass, te mostraré cómo implementar y utilizar rápidamente una infraestructura de automatización de navegadores con la solución Moon. Comenzaremos implementando todo en tu estación de trabajo y pronto podrás ejecutar pruebas de Selenium, Playwright y Puppeteer en paralelo en el mismo clúster. Luego, te demostraré cómo ofrecer la misma experiencia de manera sencilla para tu equipo utilizando un clúster remoto en la plataforma de la nube.