Playwright es una biblioteca de automatización de código abierto para pruebas de navegadores y raspado web [3] desarrollada por Microsoft [4] [5] y lanzada el 31 de enero de 2020, que desde entonces se ha vuelto popular entre programadores y desarrolladores web .
Playwright ofrece la posibilidad de automatizar las tareas del navegador en Chromium , Firefox y WebKit [6] con una única API. Esto permite a los desarrolladores crear pruebas fiables de extremo a extremo que pueden ejecutarse en modo no headless, así como en modo headless para la automatización. Playwright ha sido comparado con Cypress [7] .
Playwright admite lenguajes de programación como JavaScript , Python , C# y Java , aunque su API principal se escribió originalmente en Node.js. Admite todas las funciones web modernas, incluida la intercepción de red y múltiples contextos de navegador, y proporciona espera automática, lo que reduce la inestabilidad de las pruebas.
@dramaturgo/prueba
@playwright/test es un ejecutor de pruebas con afirmaciones similares a Jest [8] desarrollado y mantenido por el equipo de Playwright que se basa en la API de Playwright. Este ejecutor de pruebas está estrechamente integrado con Playwright y está diseñado específicamente para pruebas de extremo a extremo. [9] Tiene capacidades como pruebas específicas del navegador, ejecución de pruebas en paralelo, [10] opciones de contexto de navegador enriquecidas, pruebas de instantáneas, reintentos automáticos y mucho más.
Historia
Playwright fue anunciado por Microsoft en enero de 2020. [11] Fue desarrollado para abordar la necesidad de una API unificada para pruebas entre navegadores y para superar las limitaciones de herramientas existentes como Puppeteer y Selenium. Un equipo de ingenieros, incluidos aquellos que habían trabajado anteriormente en Puppeteer en Google , contribuyeron a su desarrollo. [12] Playwright introdujo características como esperas automáticas, compatibilidad con múltiples navegadores e intercepción de red, lo que lo convirtió en una herramienta poderosa para las pruebas web modernas. Desde su inicio, se ha mantenido activamente y ha experimentado un rápido crecimiento y adopción en la comunidad de pruebas web. [13]
El ejecutor @playwright/test se lanzó más tarde como parte de un esfuerzo por brindar una solución más integral para las pruebas basadas en navegador. Su desarrollo se basó en gran medida en la necesidad de tener un ejecutor especializado que pueda aprovechar todo el potencial de la API de Playwright y hacer que las pruebas de extremo a extremo sean más sólidas y sencillas.
Uso y ejemplos
Playwright se utiliza principalmente para automatizar tareas del navegador, que pueden ir desde la navegación sencilla por la página y la extracción de contenido hasta operaciones más complejas, como el envío automático de formularios, las interacciones de los usuarios y más. Por ejemplo, un fragmento de código JavaScript simple con Playwright podría verse así:
const { cromo } = require ( 'dramaturgo' );
( async () => { const navegador = await chromium . launch (); const página = await navegador . newPage (); await página . goto ( 'https://example.com' ); await página . screenshot ({ ruta : 'example.png' }); await navegador . close (); })();
En este ejemplo, se utiliza Playwright para abrir un navegador Chromium, navegar a "https://example.com", tomar una captura de pantalla y guardarla como "example.png".
@playwright/test amplía aún más estas capacidades al proporcionar un ejecutor de pruebas que permite a los desarrolladores escribir y organizar sus pruebas de una manera más estructurada y escalable. Un ejemplo de prueba con @playwright/test podría ser el siguiente:
const { prueba } = require ( '@playwright/prueba' );
test ( 'prueba básica' , async ({ página }) => { await página . goto ( 'https://example.com' ); await expect ( página ). toHaveTitle ( 'Dominio de ejemplo' ); });
En este ejemplo, se escribe una prueba para navegar a 'https://example.com' y verificar si el título de la página es 'Dominio de ejemplo'. [14]
Referencias
- ^ "lanzamiento de la versión v0.10.0". GitHub . Consultado el 1 de junio de 2022 .
- ^ Etiquetas · microsoft/playwright · GitHub
- ^ Bansal, Mudit; Dar, Muhammad Ameen; Bhat, Moshin Manzoor; Sharma, Tushar; Uniyar, Rishita (2023). "Ingestión y procesamiento de datos mediante Playwright". TecnologíaRxiv .
- ^ Yegulalp, Serdar (30 de septiembre de 2020). «Playwright de Microsoft simplifica las pruebas para aplicaciones web de Python». InfoWorld . IDG Communications . Consultado el 2 de julio de 2023 .
- ^ Tung, Liam (1 de octubre de 2020). «Microsoft: Playwright para el lenguaje Python te permite probar aplicaciones web en todos los navegadores principales». ZDNET . Consultado el 2 de julio de 2023 .
- ^ Judis, Stefan (22 de octubre de 2022). "Playwright, un marco de pruebas de extremo a extremo que ahorra tiempo". The New Stack . Consultado el 2 de julio de 2023 .
- ^ Tej, Krishna. "Playwright vs Cypress: A Comparison". BrowserStack . Consultado el 2 de julio de 2023 .
- ^ "Afirmaciones". Dramaturgo . Microsoft . Consultado el 1 de junio de 2023 .
- ^ "Biblioteca". Dramaturgo . Microsoft . Consultado el 1 de junio de 2023 .
- ^ "Paralelismo y fragmentación". Dramaturgo . Microsoft . Consultado el 1 de junio de 2023 .
- ^ Attam, Arjun (30 de septiembre de 2020). "Anuncio de Playwright para Python: pruebas integrales confiables para la web". Microsoft DevBlogs . Microsoft . Consultado el 2 de julio de 2023 .
- ^ Schiemann, Dylan (30 de enero de 2020). «Microsoft anuncia una alternativa de Playwright a Puppeteer». InfoQ . C4Media . Consultado el 2 de julio de 2023 .
- ^ Gagan, Luc (1 de julio de 2023). "Un análisis comparativo de la adopción de dramaturgos frente a Cypress y Selenium". Rayrun . Consultado el 2 de julio de 2023 .
- ^ "afirmación toHaveTitle". Dramaturgo . Microsoft . Consultado el 1 de junio de 2023 .
Lectura adicional
- Kinsbruner, Eran (2022). Guía de pruebas para desarrolladores web frontend: explore los principales marcos de automatización de pruebas web y su futuro impulsado por el low-code y la IA . Packt Publishing . ISBN 978-1803238319.
- Irvine, Daniel (2023). Svelte con desarrollo basado en pruebas: mejore sus habilidades y escriba pruebas automatizadas efectivas con Vitest, Playwright y Cucumber.js . Packt Publishing . ISBN 978-1837638338.
Enlaces externos
- Sitio web oficial
- dramaturgo en GitHub