Blog

Auto Playwright: transformando la automatización de pruebas con IA

¿Cómo utilizar Auto Playwright? ¿Es posible mejorar la eficiencia en el desarrollo de pruebas con esta herramienta con apoyo en Inteligencia Artificial? En este artículo, compartimos pruebas y casos de uso reales para poder responderte estas preguntas con todos los detalles.

Imagen ilustrativa - Auto Playwright: transformando la automatización de pruebas con IA

En el vertiginoso mundo del desarrollo de software y la Inteligencia Artificial (IA), es esencial contar con herramientas que no solo mantengan el ritmo de las innovaciones tecnológicas sino que también simplifiquen y optimicen los procesos. 

Una de las herramientas más populares en el ámbito de la automatización de pruebas es Playwright, una librería de testing que proporciona una base sólida para hacer pruebas end-to-end más robustas y confiables.

Se trata de un framework de código abierto que facilita la creación de pruebas automáticas para aplicaciones web y permite ejecutarlas en una variedad de navegadores.

A raíz de todos los cambios tecnológicos en la industria de IT con respecto a la Inteligencia Artificial, surgió Auto Playwright, una evolución de Playwright, que incorpora la IA para llevar la automatización de pruebas a un nuevo nivel.

¿Logra Auto Playwright mejorar la eficiencia en el desarrollo de pruebas? Te lo respondemos con detalles en este artículo. Para ello, realizamos pruebas, con casos de usos reales, y analizamos tanto sus capacidades como limitaciones.

¡Explora nuestros casos de éxito y soluciones personalizadas para automatización de pruebas!

Introduciendo Auto Playwright

Imagen ilustrativa - Introduciendo Auto Playwright

Auto Playwright aprovecha las capacidades de OpenAI para transformar instrucciones de texto plano en una serie de ejecuciones de funciones. 

Para ello, actúa como intermediario inteligente entre sus comandos de texto sin formato y el código necesario para automatizar las pruebas, y nos permite que el proceso sea más intuitivo y accesible

Esta iniciativa visionaria se inspiró en el proyecto de ZeroStep, el cual ofrece una API similar pero con una implementación más robusta a través de su plataforma privada.

¿Cómo funciona Auto Playwright?

Para iniciar, es necesario escribir pruebas en texto simple. 

Estas instrucciones describen las acciones o comprobaciones que quieres realizar en tu aplicación web, como “haz clic en el botón de inicio de sesión” u “obtén el título de la página”. 

Luego, es preciso traducirlas mediante la función runFunctions de OpenAI, la cual se ocupa de interpretar estas instrucciones. 

Una vez que runFunction de OpenAI traduce las instrucciones, Auto Playwright determina y ejecuta las funciones que permitan realizar las acciones descritas, tales como hacer clic, rellenar formularios, navegar en diferentes páginas o buscar y verificar contenido. 

Aquí puedes encontrar todas las acciones que maneja Auto Playwright.

A medida que se ejecutan estas funciones, Auto Playwright proporciona información o resultados. Esto puede incluir la confirmación de las acciones realizadas con éxito, los datos recuperados de la página o los resultados de las comprobaciones y afirmaciones realizadas.

A continuación, exploraremos cómo dar tus primeros pasos con la herramienta, desde su instalación hasta la ejecución de tus primeras pruebas automatizadas. También analizaremos el valor que su uso aportaría a tus proyectos.

No te pierdas este webinar, con tips para la automatización de pruebas low-code

Paso a paso: configuración de Auto Playwright desde cero

Imagen ilustrativa - Paso a Paso: Configuración de Auto Playwright desde cero

Como cualquier proyecto basado en Node, necesitamos cumplir con ciertos prerrequisitos.

En primer lugar, precisamos tener instalado Node en nuestro ordenador. Además, requerimos contar con un entorno de desarrollo integrado (IDE). En nuestro caso, utilizaremos VSC. Una vez instaladas, podemos iniciar la configuración de Auto Playwright. 

Compartimos una guía paso a paso para que puedas llevar esto adelante:

1. Crear una clave de API en OpenAI

OpenAI es una organización de investigación en Inteligencia Artificial que lidera el desarrollo de tecnologías avanzadas como GPT-3 y DALL-E, con un enfoque en promover el uso ético y beneficioso de la IA.

Para obtener una API key de OpenAI, debes registrarte en la plataforma de OpenAI, crear una cuenta y, en algunos casos, aceptar los términos de servicio.

Pasos para obtener una API key:

  • Ingresar a https://openai.com.
  • Iniciar sesión o crear una nueva cuenta.
  • Seleccionar “API”.
  • Pasar el cursor por encima de los íconos de la izquierda para abrir el menú y seleccionar “API Keys”.
  • Hacer clic en “Create new secret key”.
  • Asignar un nombre a la clave y hacer clic en “Create secret key”.
  • Genera la clave.

Un detalle sobre esta herramienta es que debes tener uso disponible en tu API Key para poder trabajar con ella. 

A pesar que es un plataforma gratuita y no necesitas afiliarte a ningún plan, sí existe un costo asociado a tu API Key. Puedes encontrar más información sobre precios en este link.

2. Instalar el framework Playwright desde la consola 

Para ello, debes ejecutar: npm init playwright@latest 

3. Instalar Auto-playwright

En este paso,  debes ejecutar en la consola: npm install auto-playwright -D.

En este punto, veremos las dependencias en nuestro package.json:

Captura de pantalla - Dependencias en nuestro package.json:

4. Establecer variables

En este último paso, precisas establecer las variables de entorno en el archivo .env siguiendo la documentación de la herramienta. 

Recuerda que esta API key es la generada en el paso N°1:   OPENAI_API_KEY=’sk-…”

Utilizando Auto Playwright para pruebas

Imagen ilustrativa - Utilizando Auto Playwright para pruebas

La verdadera fuerza de Auto Playwright yace en su capacidad para ejecutar escenarios de prueba utilizando AI.

¿Cómo aprovechar Auto Playwright para ejecutar diferentes escenarios?

En primer lugar, crearemos nuestros tests usando la función “auto”. 

Esta función requiere un prompt de texto plano y un argumento que contenga el objeto de prueba. 

A continuación, compartimos un ejemplo (page):

auto("<your prompt>", { page, test });

 Además, de forma opcional, podemos declarar el modelo de la API a utilizar mediante el parámetro “options”:

const options = {

  // If true, debugging information is printed in the console.

  debug: boolean,

  // The OpenAI model 

  model: "gpt-4-1106-preview",

  // The OpenAI API key

  openaiApiKey: 'sk-...',

};

Así es como quedarían en cada prompt: 

auto("<tu prompt>", { page, test }, options);

Posible caso

Imagen ilustrativa - Posible caso

Consideremos el siguiente escenario: 

Necesitamos probar la funcionalidad de agregar un producto al carrito de una aplicación web. Con Auto Playwright, podemos hacerlo con instrucciones sencillas, similares a las humanas.

Para probar la funcionalidad, crearemos dos pruebas. En la primera, utilizaremos varios prompts para simular una acción a ejecutar en cada uno de ellos. Para la segunda prueba, crearemos un solo prompt, el cual contendrá todas las acciones de forma secuencial.

Nuestros tests quedarían de la siguiente forma:

import { test, expect } from "@playwright/test";

import { auto } from "auto-playwright";


test('auto Playwright test 1: Shopping cart functionality - Several prompts', async ({ page }) => {

 await page.goto('http://opencart.abstracta.us/');

 await auto('Go to Phones & PDAs from menu bar', { page, test });

 await auto('Add item 'Palm Treo Pro' to cart', { page, test });

 await auto('Go to Shopping Cart", { page, test });

 const itemsList = await auto('list all items in the cart', { page, test });

 expect(itemsList[0]).toContain('Palm Treo Pro');


});

test("auto Playwright test 2: Add a product to the cart with a single prompt", async ({ page }) => {


 await page.goto('http://opencart.abstracta.us/');

 const result = await auto(`

 1. Go to Phones & PDAs from the menu bar.

 2. Add item 'Palm Treo Pro' to the cart.

 3. Go to the Shopping Cart

 4. Verify in the list of items in the cart are the item 'Palm Treo Pro'.`, { page, test });


expect(result).toBeTruthy();

});

Ejecución:

Para ejecutar nuestros tests en consola, escribiremos npx playwright test. A medida que se ejecuten, visualizaremos la información que Auto Playwright nos proporcione.

Resultados y conclusiones

Imagen ilustrativa - Resultados y conclusiones

Aunque Auto Playwright se destaca como un proyecto innovador en la automatización de pruebas, actualmente su nivel de sofisticación y versatilidad no resultan suficientes para la automatización de pruebas. 

A pesar de su contribución significativa para acelerar el desarrollo de pruebas y facilitar la creación de scripts, Auto Playwright necesita superar ciertas limitaciones para ser considerado como una solución integral en el campo de la automatización de pruebas.

A continuación, detallamos sus ventajas y desventajas, en consideración tanto de sus capacidades  como de sus limitaciones.

Ventajas

  • Simplifica el proceso y reduce la cantidad de código necesario. De esta manera, facilita la escritura de pruebas.
  • Acelera el desarrollo al automatizar tareas repetitivas y tediosas, lo cual aumenta la productividad del equipo.

Desventajas

  • La velocidad de procesamiento de la IA en Auto Playwright es significativamente más lenta en comparación con métodos tradicionales de automatización de pruebas.
  • El uso de Auto Playwright puede ser desafiante en casos en los cuales hay no un solo elemento sino varios elementos con el mismo texto, ya que requiere especificidad en los comandos de automatización.
  • Existe un alto costo vinculado con las llamadas a la API de openAI asociadas Auto Playwright, lo cual puede resultar prohibitivo para algunas organizaciones.
  • Ocasionales fallos en las llamadas a la API pueden traducirse en resultados de pruebas inconsistentes. Esto puede socavar la confiabilidad de las mismas.

En resumen, Auto Playwright tiene un potencial prometedor para mejorar la eficiencia en el desarrollo de pruebas, pero es fundamental considerar sus limitaciones y evaluar si está a la altura de las expectativas en términos de rendimiento, costo y fiabilidad en comparación con soluciones más establecidas en el mercado.

Con base en sus limitaciones y la necesidad de contar con soluciones más avanzadas para entornos de pruebas exigentes, no recomendamos la implementación de Auto Playwright como la principal herramienta de automatización de pruebas en un proyecto de desarrollo. 

Por ello, desde el punto de vista de nuestros especialistas, es crucial explorar opciones más sólidas y eficientes que se adapten mejor a las necesidades y exigencias del proceso de pruebas.

En definitiva, recomendaríamos su uso únicamente para pruebas menos frecuentes y detalladas, sin mucha complejidad, para complementar su implementación con otros enfoques de pruebas más robustas, estables y eficientes. 

A futuro, seguiremos monitoreando de cerca las actualizaciones de Auto Playwright para evaluar cómo sus avances tecnológicos pueden mitigar estas limitaciones a lo largo del tiempo.


¿Necesitas apoyo con automatización de pruebas? 

Con más de 15 años de experiencia y presencia global, en Abstracta, ayudamos desde startups hasta empresas Fortune 500 a implementar pruebas automatizadas que mejoran la calidad, el impacto y el retorno del software.

Explora nuestros servicios personalizados y contáctanos para agendar una reunión y ver cómo podemos apoyarte para hacer crecer tu negocio.

Contáctanos

¡Síguenos en LinkedIn, X, Facebook, Instagram y YouTube para ser parte de nuestra comunidad!


Artículos recomendados

Velocidad de herramientas low-code para automatizar pruebas

La importancia de la automatización en shift left testing

4 desafíos comunes de la automatización de pruebas: ¿cómo enfrentarlos?

247 / 255