Playwright es un framework de automatización de pruebas para aplicaciones web. Es de código abierto y está desarrollado por Microsoft.
Utiliza un plugin oficial para pruebas de extremo a extremo desarrollado por ellos mismos llamado Playwright Pytest. Si bien se recomienda usar este plugin, es posible utilizar una biblioteca alternativa de testing.
Sirve para probar aplicaciones web en distintos navegadores y dispositivos. Automatiza interacciones de navegador y permite pruebas end-to-end, captura de pantalla, y pruebas de rendimiento.
Se utiliza en el desarrollo de software, especialmente en el desarrollo web, para asegurar la calidad y funcionalidad de las aplicaciones en diferentes entornos de navegadores y dispositivos.
Ofrece soporte multi-navegador (Chrome, Firefox, Safari, WebKit), pruebas en distintos dispositivos y sistemas operativos. Permite pruebas en entornos headless (sin interfaz gráfica) y headful (con interfaz gráfica).
Además, permite integración con sistemas de CI/CD como Jenkins, GitLab CI, etc.
- Multi-navegador y multiplataforma.
- Pruebas en paralelo para mayor eficiencia.
- Soporte para lenguajes como JavaScript, TypeScript, Python, .NET, y Java.
- Captura automática de artefactos de prueba (screenshots, videos).
| Característica | Playwright | Cypress | Robot Framework | Puppeteer | Selenium |
|---|---|---|---|---|---|
| Lenguaje Principal | JavaScript/TypeScript, Python, Java, .Net | JavaScript | Python | JavaScript | Varios (Java, C#, Python) |
| Multi-Navegador | Sí (Chrome, Firefox, Safari) | Sí (Chrome, Firefox, Edge) | Sí (con librerías) | No (Solo Chrome, Chromium) | Sí (Todos los principales) |
| Pruebas en Paralelo | Sí | No (En su versión gratuita) | Sí | Sí | Sí |
| Soporte Móvil | Sí | Limitado | Depende de la librería | No | Sí |
| Captura Automática | Sí (Screenshots, Videos) | Sí (Screenshots, Videos) | Sí | Sí (Screenshots, Videos) | Sí (Con herramientas adicionales) |
| Comunidad y Soporte | En crecimiento | Fuerte | Establecida | Fuerte | Muy fuerte |
| Lanzamiento | 2020 | 2017 | 2005 | 2017 | 2004 |
Para que este proyecto funcione necesitamos:
- Python (>=3.11)
- Tu navegador favorito como: GoogleChrome, FireFox, etc
Los módulos que usamos en este proyecto los gestionamos con Poetry, para instalarlo ejecutaremos el comando:
pip install poetry==1.7.1
Hecho esto, podremos instalar las dependencias para ejecución:
poetry install
Ya instalado, hay que instalar las dependencias de los navegadores necesarios con el comando:
playwright install
Una ejecución simple se puede hacer con el comando:
poetry run pytestpoetry run behave
Al no especificar navegador, Playwright tomará por defecto Chrome.
Es posible configurar el comportamiento de ejecución a través de los argumentos de consola. Vea cómo ejecutar las pruebas aquí. Aquí encontrarás los argumentos de consola para configurar tus ejecuciones.