¿Playwright puede hacer esto?

Rate this content
Bookmark

Garantizar que tu aplicación no se rompa mientras envías constantemente nuevas características es difícil. Obviamente, con una aplicación o sitio en constante crecimiento, no puedes probar todo manualmente todo el tiempo.

La automatización de pruebas y el monitoreo son cruciales para evitar enviar aplicaciones y sitios rotos. Pero, ¿qué funcionalidad debes probar? ¿Cuándo debes ejecutar tus pruebas? ¿Y no son las suites de pruebas complejas muy lentas?

En esta sesión, pondremos manos a la obra con Playwright, el marco de pruebas de extremo a extremo, y aprenderemos cómo automatizar navegadores sin cabeza para asegurarnos de enviar nuevas características con confianza.

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

FAQ

Stefan es un profesional que se dedica al desarrollo front-end y desarrollo de JavaScript, y es originario de Berlín, Alemania.

Playwright es una solución de pruebas muy inclusiva que permite realizar pruebas de extremo a extremo en todos los principales navegadores como Chromium, WebKit y Gecko Firefox, y se puede usar en sistemas operativos como Mac, Windows y Linux.

Stefan trabaja para una empresa llamada checkly, que se especializa en monitoreo de API y pruebas de extremo a extremo en la nube.

Playwright facilita la escritura de pruebas gracias a características como la espera automática y las afirmaciones web-first, además de permitir ejecuciones rápidas y paralelización de pruebas.

Playwright mejora las pruebas de extremo a extremo al ofrecer herramientas como la paralelización de pruebas, capturas de pantalla automáticas y regresión visual testing, haciendo las pruebas más rápidas y confiables.

Stefan destacó varias funcionalidades de Playwright, como su integración con VS Code, la capacidad de ejecutar pruebas en diferentes navegadores simultáneamente, y herramientas avanzadas de debugging y generación de pruebas desde la línea de comandos.

Antes de usar Playwright, Stefan escribió pruebas de interfaz de usuario y extremo a extremo utilizando Selenium, Phantom JS y Casper JS.

Para Stefan, las pruebas de extremo a extremo son cruciales porque permiten verificar que todos los componentes de un sitio web o aplicación, desde el navegador hasta la base de datos, funcionen correctamente en conjunto.

 Stefan Judis
Stefan Judis
23 min
03 Nov, 2022

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Playwright es una poderosa herramienta para pruebas de extremo a extremo, que ofrece soporte para todos los principales navegadores y plataformas. Proporciona características como paralelización, espera incorporada y aserciones. Playwright permite ejecutar pruebas en múltiples navegadores con un solo comando y tiene funcionalidad para generar pruebas y realizar pruebas de regresión visual. También permite la manipulación de la capa de red y la carga de los componentes internos de las páginas web. Las mejores prácticas incluyen el uso de scripts cortos e idempotentes, dividir los flujos de cuenta de usuario en pruebas separadas y limpiar después de cada caso de prueba.
Available in English: Playwright Can Do This?

1. Introducción a Playwright y Pruebas de Extremo a Extremo

Short description:

Hola, TestJS Summit. Es hora de otra sesión de Playwright. Playwright puede hacer esto. Soy Stefan de Berlín, Alemania, aunque estoy en Grecia en este momento. Me dedico al desarrollo front-end, desarrollo de JavaScript, desde hace un tiempo. Y trabajo para una empresa llamada checkly, donde hacemos monitoreo de API y pruebas de extremo a extremo en la nube.

Hola, TestJS Summit. Es hora de otra sesión de Playwright. Playwright puede hacer esto.

Y antes de comenzar, permítanme presentarme rápidamente. Soy Stefan de Berlín, Alemania, aunque estoy en Grecia en este momento. Me dedico al desarrollo front-end, desarrollo de JavaScript, desde hace un tiempo. Y trabajo para una empresa llamada checkly, donde hacemos monitoreo de API y pruebas de extremo a extremo en la nube. Así que si quieres controlar y ejecutar Playwright según un horario, en la nube, para asegurarte de que todos tus productos estén funcionando en todo momento, puedes echar un vistazo a checkly. Y estoy seguro de que te parecerá interesante.

Y déjame decirte que comencé a hacer pruebas hace más de 10 años, y estas fueron las tecnologías, las elecciones tecnológicas con las que comencé a experimentar. Mis primeras pruebas de interfaz de usuario y extremo a extremo las escribí en Selenium. Y luego, en algún momento, apareció Phantom JS, este nuevo y elegante marco o biblioteca impulsada por JavaScript para controlar WebKit sin cabeza. Y luego, más tarde, apareció Casper JS. Así que teníamos una cosa con fantasmas en ese momento, que era un marco de pruebas sobre Phantom JS. Y déjame decirte que desde el principio, desde las primeras posibilidades de controlar un navegador para probar que las cosas que realmente puse en línea funcionan, fui un gran fanático de este enfoque porque la idea de las pruebas de extremo a extremo siempre me pareció atractiva. Porque puedes probar tus sitios web y aplicaciones realmente de extremo a extremo, comenzando en el navegador y tal vez terminando en la base de datos y las pruebas y cubriendo todas las cosas intermedias. Ya sean APIs, servidores web o cualquier cosa que estés construyendo.

2. Desafíos con las Pruebas de Extremo a Extremo

Short description:

Cuando escribí mi primera prueba de extremo a extremo, fue una experiencia terrible. El conjunto de pruebas era lento, inestable y no disfrutábamos escribir pruebas. Esperar las luces verdes y lidiar con falsos positivos lo empeoraba aún más. Invertimos mucho tiempo pero nos dimos cuenta de que no valía la pena. Ejecutar pruebas a pedido no es suficiente. Queremos que las pruebas se ejecuten todo el tiempo, en cada confirmación, en cada implementación.

Cuando escribí mi primera prueba de extremo a extremo, sin embargo, fue una experiencia terrible. Pasé, por ejemplo, sprint tras sprint con mis colegas y mi equipo para lograr una buena cobertura de pruebas de extremo a extremo, solo para crear un conjunto de pruebas que era lento, no disfrutábamos escribir pruebas y era inestable. Fue el peor escenario posible terminar con un conjunto de pruebas lento, tener que esperar 30, 40, 50 minutos para obtener una luz verde para tal vez implementar una corrección de errores tipográficos, pero luego también obtener resultados falsos positivos para que vuelvas a ejecutar tus pruebas de extremo a extremo para asegurarte de que, bueno, tal vez las pruebas no estaban correctas y luego se ejecutan más tarde, probablemente hayas estado en esa situación. Este es el peor escenario posible cuando no puedes confiar en tu conjunto de pruebas y también es lento. Así que estuvimos en esa situación, invertimos mucho tiempo y en algún momento decidimos que no valía la pena, y optamos por ejecutar las pruebas a pedido, ¿verdad? Y tal vez tú también hayas estado en esa situación, pero este es el momento en el que prácticamente renuncias a las pruebas de extremo a extremo, porque lo que quieres es que tus pruebas se ejecuten todo el tiempo, en cada confirmación, en cada implementación, quieres que estén en tu radar en todo momento. Y cuando las ejecutas a pedido, bueno, eso probablemente no es lo suficientemente frecuente, por lo que terminarás con un conjunto de pruebas desactualizado muy rápidamente, porque lo olvidaste, y esto está anulando todo el esfuerzo que has realizado. Y esto es exactamente lo que me sucedió.

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

Escalando con Remix y Micro Frontends
Remix Conf Europe 2022Remix Conf Europe 2022
23 min
Escalando con Remix y Micro Frontends
Top Content
This talk discusses the usage of Microfrontends in Remix and introduces the Tiny Frontend library. Kazoo, a used car buying platform, follows a domain-driven design approach and encountered issues with granular slicing. Tiny Frontend aims to solve the slicing problem and promotes type safety and compatibility of shared dependencies. The speaker demonstrates how Tiny Frontend works with server-side rendering and how Remix can consume and update components without redeploying the app. The talk also explores the usage of micro frontends and the future support for Webpack Module Federation in Remix.
Componentes de Full Stack
Remix Conf Europe 2022Remix Conf Europe 2022
37 min
Componentes de Full Stack
Top Content
RemixConf EU discussed full stack components and their benefits, such as marrying the backend and UI in the same file. The talk demonstrated the implementation of a combo box with search functionality using Remix and the Downshift library. It also highlighted the ease of creating resource routes in Remix and the importance of code organization and maintainability in full stack components. The speaker expressed gratitude towards the audience and discussed the future of Remix, including its acquisition by Shopify and the potential for collaboration with Hydrogen.
Depuración de JS
React Summit 2023React Summit 2023
24 min
Depuración de JS
Top Content
Debugging JavaScript is a crucial skill that is often overlooked in the industry. It is important to understand the problem, reproduce the issue, and identify the root cause. Having a variety of debugging tools and techniques, such as console methods and graphical debuggers, is beneficial. Replay is a time-traveling debugger for JavaScript that allows users to record and inspect bugs. It works with Redux, plain React, and even minified code with the help of source maps.
Haciendo JavaScript en WebAssembly Rápido
JSNation Live 2021JSNation Live 2021
29 min
Haciendo JavaScript en WebAssembly Rápido
Top Content
WebAssembly enables optimizing JavaScript performance for different environments by deploying the JavaScript engine as a portable WebAssembly module. By making JavaScript on WebAssembly fast, instances can be created for each request, reducing latency and security risks. Initialization and runtime phases can be improved with tools like Wiser and snapshotting, resulting in faster startup times. Optimizing JavaScript performance in WebAssembly can be achieved through techniques like ahead-of-time compilation and inline caching. WebAssembly usage is growing outside the web, offering benefits like isolation and portability. Build sizes and snapshotting in WebAssembly depend on the application, and more information can be found on the Mozilla Hacks website and Bike Reliance site.
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.

Workshops on related topic

Domina los Patrones de JavaScript
JSNation 2024JSNation 2024
145 min
Domina los Patrones de JavaScript
Top Content
Featured Workshop
Adrian Hajdin
Adrian Hajdin
Durante esta masterclass, los participantes revisarán los patrones esenciales de JavaScript que todo desarrollador debería conocer. A través de ejercicios prácticos, ejemplos del mundo real y discusiones interactivas, los asistentes profundizarán su comprensión de las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables. Al final de la masterclass, los participantes ganarán una nueva confianza en su capacidad para escribir código JavaScript de alta calidad que resista el paso del tiempo.
Puntos Cubiertos:
1. Introducción a los Patrones de JavaScript2. Patrones Fundamentales3. Patrones de Creación de Objetos4. Patrones de Comportamiento5. Patrones Arquitectónicos6. Ejercicios Prácticos y Estudios de Caso
Cómo Ayudará a los Desarrolladores:
- Obtener una comprensión profunda de los patrones de JavaScript y sus aplicaciones en escenarios del mundo real- Aprender las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables- Mejorar las habilidades de resolución de problemas y la legibilidad del código- Mejorar la colaboración y la comunicación dentro de los equipos de desarrollo- Acelerar el crecimiento de la carrera y las oportunidades de avance en la industria del software
Masterclass: Integrando LangChain con JavaScript para Desarrolladores Web
React Summit 2024React Summit 2024
92 min
Masterclass: Integrando LangChain con JavaScript para Desarrolladores Web
Featured Workshop
Vivek Nayyar
Vivek Nayyar
Sumérgete en el mundo de la IA con nuestro masterclass interactivo diseñado específicamente para desarrolladores web. "Masterclass: Integrando LangChain con JavaScript para Desarrolladores Web" ofrece una oportunidad única para cerrar la brecha entre la IA y el desarrollo web. A pesar de la prominencia de Python en el desarrollo de IA, el vasto potencial de JavaScript sigue siendo en gran medida inexplorado. Este masterclass tiene como objetivo cambiar eso.A lo largo de esta sesión práctica, los participantes aprenderán cómo aprovechar LangChain, una herramienta diseñada para hacer que los modelos de lenguaje grandes sean más accesibles y útiles, para construir agentes de IA dinámicos directamente dentro de entornos JavaScript. Este enfoque abre nuevas posibilidades para mejorar las aplicaciones web con funciones inteligentes, desde el soporte al cliente automatizado hasta la generación de contenido y más.Comenzaremos con los conceptos básicos de LangChain y los modelos de IA, asegurando una base sólida incluso para aquellos nuevos en IA. A partir de ahí, nos sumergiremos en ejercicios prácticos que demuestran cómo integrar estas tecnologías en proyectos reales de JavaScript. Los participantes trabajarán en ejemplos, enfrentando y superando los desafíos de hacer que la IA funcione sin problemas en la web.Este masterclass es más que una experiencia de aprendizaje; es una oportunidad de estar a la vanguardia de un campo emergente. Al final, los asistentes no solo habrán adquirido habilidades valiosas, sino que también habrán creado funciones mejoradas con IA que podrán llevar a sus proyectos o lugares de trabajo.Ya seas un desarrollador web experimentado curioso acerca de la IA o estés buscando expandir tus habilidades en áreas nuevas y emocionantes, "Masterclass: Integrando LangChain con JavaScript para Desarrolladores Web" es tu puerta de entrada al futuro del desarrollo web. Únete a nosotros para desbloquear el potencial de la IA en tus proyectos web, haciéndolos más inteligentes, interactivos y atractivos para los usuarios.
Uso de CodeMirror para construir un editor de JavaScript con Linting y AutoCompletado
React Day Berlin 2022React Day Berlin 2022
86 min
Uso de CodeMirror para construir un editor de JavaScript con Linting y AutoCompletado
Top Content
WorkshopFree
Hussien Khayoon
Kahvi Patel
2 authors
Usar una biblioteca puede parecer fácil a primera vista, pero ¿cómo eliges la biblioteca correcta? ¿Cómo actualizas una existente? ¿Y cómo te abres camino a través de la documentación para encontrar lo que quieres?
En esta masterclass, discutiremos todos estos puntos finos mientras pasamos por un ejemplo general de construcción de un editor de código usando CodeMirror en React. Todo mientras compartimos algunas de las sutilezas que nuestro equipo aprendió sobre el uso de esta biblioteca y algunos problemas que encontramos.
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
Testing Web Applications Using Cypress
TestJS Summit - January, 2021TestJS Summit - January, 2021
173 min
Testing Web Applications Using Cypress
Top Content
WorkshopFree
Gleb Bahmutov
Gleb Bahmutov
Esta masterclass te enseñará los conceptos básicos para escribir pruebas end-to-end útiles utilizando Cypress Test Runner.
Cubriremos la escritura de pruebas, cubriendo cada característica de la aplicación, estructurando pruebas, interceptando solicitudes de red y configurando los datos del backend.
Cualquiera que conozca el lenguaje de programación JavaScript y tenga NPM instalado podrá seguir adelante.
Desatando los Componentes del Servidor React: Una Inmersión Profunda en el Desarrollo Web de la Próxima Generación
React Day Berlin 2023React Day Berlin 2023
149 min
Desatando los Componentes del Servidor React: Una Inmersión Profunda en el Desarrollo Web de la Próxima Generación
Workshop
Maurice de Beijer
Maurice de Beijer
¡Prepárate para potenciar tus habilidades de desarrollo web con los Componentes del Servidor React! En esta inmersiva masterclass de 3 horas, desbloquearemos el potencial completo de esta tecnología revolucionaria y exploraremos cómo está transformando la forma en que los desarrolladores construyen aplicaciones web rápidas y eficientes.
Únete a nosotros mientras nos adentramos en el emocionante mundo de los Componentes del Servidor React, que combinan sin problemas el renderizado del lado del servidor con la interactividad del lado del cliente para un rendimiento y una experiencia de usuario inigualables. Obtendrás experiencia práctica a través de ejercicios prácticos, ejemplos del mundo real y orientación experta sobre cómo aprovechar el poder de los Componentes del Servidor en tus propios proyectos.
A lo largo de la masterclass, cubriremos temas esenciales, incluyendo:- Entender las diferencias entre los Componentes del Servidor y del Cliente- Implementar Componentes del Servidor para optimizar la obtención de datos y reducir el tamaño del paquete JavaScript- Integrar Componentes del Servidor y del Cliente para una experiencia de usuario fluida- Estrategias para pasar datos efectivamente entre componentes y gestionar el estado- Consejos y mejores prácticas para maximizar los beneficios de rendimiento de los Componentes del Servidor React