Playwright es un framework de código abierto creado por Microsoft que permite realizar pruebas automatizadas de frontend y API. Ofrece soporte para múltiples lenguajes de programación como Python, TypeScript, JavaScript y Java. Una de las características destacadas de Playwright es su capacidad para ejecutar pruebas en diferentes navegadores (Chromium, Firefox y WebKit) utilizando una misma base de código.
Configuración del entorno
Para empezar a trabajar con Playwright, necesitamos tener instalados Node.js y Visual Studio Code. Luego, desde una carpeta vacía en Visual Studio Code, instalamos la extensión de Playwright y configuramos los engines de navegador. Esta configuración nos permite ejecutar nuestras pruebas tanto en modo visual como en modo headless (sin navegador visible).
Primer script con Playwright
El primer script que creamos con Playwright es un sencillo «Hola Mundo» que abre una URL y busca un elemento específico en la página. Este script nos ayuda a familiarizarnos con la estructura básica de una prueba en Playwright y cómo ejecutar pruebas utilizando la extensión de Visual Studio Code.
Generación de código con Codegen
Playwright ofrece una herramienta llamada Codegen, que permite generar código automáticamente a medida que interactuamos con una aplicación web. Esta herramienta es especialmente útil para diseñar pruebas automatizadas sin necesidad de escribir código manualmente. Codegen registra cada acción realizada en la aplicación y genera el script correspondiente, facilitando así la creación de pruebas automatizadas.
Validaciones y assertions
Una parte fundamental de las pruebas automatizadas es la validación de los resultados. En Playwright, podemos agregar assertions para verificar que las acciones realizadas en la aplicación web produzcan los resultados esperados. Por ejemplo, después de hacer login, podemos validar que el botón de logout esté visible, asegurando así que el login fue exitoso.
Automatización de API con Playwright
Además de pruebas de frontend, Playwright permite realizar pruebas automatizadas de API. Podemos enviar solicitudes HTTP (GET, POST, PUT, DELETE) y validar las respuestas recibidas. Esta capacidad nos permite asegurar que nuestras APIs funcionan correctamente y responden con los datos esperados.
Uso de patrones de diseño: Page Object Model
El patrón de diseño Page Object Model (POM) es una práctica recomendada en la automatización de pruebas de frontend. Este patrón sugiere organizar los selectores y acciones relacionadas con una página específica en una clase separada. De esta manera, si algo cambia en la estructura de la página, solo necesitamos actualizar la clase correspondiente, mejorando así el mantenimiento y la escalabilidad de nuestras pruebas.
Ejemplo de prueba avanzada: Testing híbrido
En la parte avanzada de la charla, Carlos muestra cómo combinar pruebas de frontend y backend utilizando Playwright. Un ejemplo interesante es la captura y modificación de respuestas API en tiempo real. Podemos interceptar una llamada API, modificar la respuesta y luego validar que el frontend maneje correctamente los datos modificados. Esto es útil para probar escenarios específicos sin necesidad de configurar datos reales en el backend.
Conclusión
Playwright es una herramienta poderosa para la automatización de pruebas, ofreciendo flexibilidad y soporte para múltiples lenguajes y navegadores. La charla de Carlos Gauto proporciona una introducción detallada a las capacidades de Playwright y cómo podemos utilizarlo para mejorar la calidad de nuestras aplicaciones a través de pruebas automatizadas. Desde la configuración inicial hasta la creación de pruebas avanzadas, Playwright se presenta como una solución robusta y eficiente para developers interesados en la automatización de testing.