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.

This talk has been presented at TestJS Summit - January, 2021, check out the latest edition of this JavaScript Conference.

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
Testing web applications with Playwright, a reliable end-to-end testing tool. Playwright offers fast execution, powerful tooling, and support for multiple languages. It provides precise selectors, web-first assertions, and code generation for easy testing. Playwright also offers features like live debugging, tracing, and running tests on CI. The future of Playwright aims to make testing easy and fun, with a focus on creating frustration-free web experiences.
Pruebas de ciclo completo con Cypress
TestJS Summit 2022TestJS Summit 2022
27 min
Pruebas de ciclo completo con Cypress
Top Content
Cypress is a powerful tool for end-to-end testing and API testing. It provides instant feedback on test errors and allows tests to be run inside the browser. Cypress enables testing at both the application and network layers, making it easier to reach different edge cases. With features like AppActions and component testing, Cypress allows for comprehensive testing of individual components and the entire application. Join the workshops to learn more about full circle testing with Cypress.
Todos pueden escribir pruebas fácilmente
TestJS Summit 2023TestJS Summit 2023
21 min
Todos pueden escribir pruebas fácilmente
Playwright is a reliable end-to-end testing tool for modern web apps that provides one API, full isolation, fast execution, and supports multiple languages. It offers features like auto-weighting, retrying assertions, seamless testing of iframes and shadow DOM, test isolation, parallelism, and scalability. Playwright provides tools like VS Code extension, UiMode, and Trace Viewer for writing, debugging, and running tests. Effective tests prioritize user-facing attributes, use playwright locators and assertions, and avoid testing third-party dependencies. Playwright simplifies testing by generating tests, providing code generation and UI mode, and allows for easy running and debugging of tests. It helps in fixing failed tests and analyzing DOM changes, fixing locator mismatches, and scaling tests. Playwright is open source, free, and continuously growing.
Pruebas pequeñas, grandes resultados
TestJS Summit 2022TestJS Summit 2022
21 min
Pruebas pequeñas, grandes resultados
Automated atomic tests are a great way to improve UI tests by making them less brittle and faster. The tests focus on testing a single feature or component and have minimal UI interactions. The Talk explores examples of automated atomic tests and their implementation on web applications. It also discusses the analysis of atomic tests, login tests, and working with JSON Web Tokens for authentication and authorization. The Talk concludes by highlighting the use of UI and web requests in automated atomic testing.
Quizá No Necesitemos Pruebas de Componentes
Vue.js Live 2024Vue.js Live 2024
26 min
Quizá No Necesitemos Pruebas de Componentes
Component testing is a gray area between integration and unit testing. The demo app focuses on the cart component and writing test cases for Playwright component test and VTest. The first cart test encounters a bug with the invisible method in View Test.
Prueba del Servicio de Correo con Playwright
TestJS Summit 2022TestJS Summit 2022
17 min
Prueba del Servicio de Correo con Playwright
Top Content
This Talk discusses how to test mail service with Playwright, covering e-mail verification, reset password user journey, and more. It explores the use of third-party providers for reliable e-mail delivery and demonstrates how Playwright can help perform checks on e-mail content. The Talk also introduces the concept of a fake SMTP server and showcases how fixtures can be used to access the SMTP server and perform assertions on the HTML body of emails. Playwright's HTML rendering feature allows for interaction with email content as if it were a regular web page. It highlights the ability to render HTML from API calls, perform assertions on the rendered page, and exclude dynamically generated data from visual regression tests.

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.