Un Robot, con el poder de Playwright

Playwright ha irrumpido en el escenario de la automatización web cambiando completamente el juego. ¿Qué tiene de especial? ¡Oh, déjenme contarles! La velocidad y practicidad de esta herramienta son simplemente asombrosas. Ha ganado una popularidad vertiginosa entre los testers de todo el mundo gracias a su facilidad de uso y su eficiencia. ¿Quién no ama una herramienta que simplifica nuestro trabajo y al mismo tiempo aumenta nuestra productividad?

Pero aquí viene lo emocionante: ¿sabían que podemos combinar la destreza del Robot Framework con el poder de Playwright? ¡Así es! Hoy quiero sumergirnos en el emocionante mundo de la orquestación de Robot con esta potente tecnología. ¿Cómo lo logramos? ¡Con la maravillosa librería Browser! Esta combinación nos permite implementar pruebas automatizadas aprovechando lo mejor de ambos mundos: la flexibilidad y versatilidad del Robot Framework junto con el rendimiento incomparable de Playwright.

Entonces, ¿cómo podemos hacer esto realidad?Ho voy a guiarlos paso a paso, hasta implementarlo. ¡Es más sencillo de lo que piensan!

Primero, asegúrense de tener instalados tanto el Robot Framework como Playwright en su entorno de desarrollo. Una vez hecho esto, es hora de poner manos a la obra. ¿Listos? ¡Aquí vamos!

Requisitos del sistema:

  • Python 3.7 o una versión posterior.
  • Pip actualizado.

Para verificar y actualizar pip, pueden usar el siguiente comando desde su terminal:

pip install -U pip

Además de Python, también necesitarán tener instalado Node.js y sus dependencias.

Instalación de Node.js: Primero, necesitarán tener Node.js instalado en su sistema. Pueden descargarlo fácilmente desde https://nodejs.org/en/download/.

$ node --version
$ npm --version
Ahora viene la parte emocionante. Es hora de instalar la librería Browser, potenciada por Playwright. Simplemente ejecuten el siguiente comando en su terminal:
pip install robotframework-browser

Aquí es donde entra en juego Node.js. Para asegurarse de que todo funcione sin problemas, ejecuten el siguiente comando para instalar las dependencias de Node.js necesarias:

rfbrowser init

Es importante tener en cuenta que esta instalación de dependencias de Node.js es crucial para que la librería Browser funcione correctamente. ¡No se salten este paso! Please.

Y walá! Con estos simples pasos, tendrán todo listo para comenzar a automatizar con la poderosa combinación de Robot Framework y Playwright. Ahora es cuando comienza la verdadera magia.

Hagamos el HOLA MUNDO.

Primero, crea un nuevo archivo de prueba en el Robot Framework. Puedes nombrarlo como desees, por ejemplo, webforme_qax_testing.robot.

En la sección de configuración de tu archivo de prueba, importa la librería Browser del Robot Framework.

*** Settings ***
Library    Browser
  • New Browser chromium headless=False: Abrirá un nuevo navegador web. Utiliza el navegador Chromium y especifica que el modo “headless” está desactivado (headless=False).
  • New Context locale=en-GB: se está estableciendo la localización (idioma y región) del navegador en inglés británico (en-GB). Esto puede ser útil para probar la localización y la internacionalización de una aplicación web.
  • New Page https://qaxpert.com/webform-lab/: Abrirá una nueva página web en el navegador recién abierto.
*** Test Cases ***
Web Form - Hands ON QAXPERT 
    New Browser    chromium    headless=False    # modo headless
    New Context    locale=en-GB
    New Page     https://qaxpert.com/webform-lab/

“headless” es un término que se utiliza para describir un modo de funcionamiento de un navegador web sin interfaz gráfica de usuario visible.

El modo headless es útil porque permite ejecutar las pruebas de forma más rápida y eficiente, ya que no se necesita renderizar ni cargar la interfaz gráfica del navegador. Esto ahorra recursos del sistema y puede aumentar la velocidad de ejecución de las pruebas, especialmente cuando se ejecutan en un entorno de integración continua o en una infraestructura de pruebas distribuida.

Utiliza las keywords proporcionadas por la librería Browser para llenar cada campo del formulario con los datos deseados.


    Fill Text     id=nombre    Ninja For Testing
    Fill Text     id=email    hola@qaxpert.com
    Fill Text    id=edad    30
    Select Options By     id=framework   text    Playwright
    Click        id=si
    Click        id=funcionales
    Click        id=regresion
    Fill Text    id=comentarios    Este es un comentario de prueba.
    Take Screenshot

Fill Text: Se utiliza para ingresar texto en un campo de entrada en una página web, identificado por su ID.

Select option By: Se utiliza para seleccionar un elemento de una lista desplegable en una página web, utilizando el texto como criterio de selección.

Click: Se utiliza para hacer clic en un elemento en una página web, identificado por su ID. Puede usarse para hacer clic en botones, casillas de verificación, enlaces u otros elementos interactivos.

Take Screenshot: Se utiliza en pruebas automatizadas para capturar una imagen de la pantalla en el momento en que se ejecuta

   Click Element    css=button[type='submit']

Haz clic en el botón “Send” para enviar el formulario.

    Close Browser
Finaliza la prueba cerrando el navegador.

Script completo

*** Settings ***
Library   Browser

*** Test Cases ***
Web Form - Hands ON QAXPERT
    New Browser    chromium    headless=False    # modo headless
    New Context    locale=en-GB
    New Page     https://qaxpert.com/webform-lab/

    # Add data
    Fill Text     id=nombre    Ninja For Testing
    Fill Text     id=email    hola@qaxpert.com
    Fill Text    id=edad    30
    Select Options By     id=framework   text    Playwright
    Click        id=si
    Click        id=funcionales
    Click        id=regresion
    Fill Text    id=comentarios    Este es un comentario de prueba.
    Take Screenshot
    # send form
    Click        css=button[type='submit']

    # end
    Close Browser

Nuestro script de automatización utilizando Playwright y Robot Framework está completo y listo para su ejecución. Con la potencia de Playwright y la flexibilidad del Robot Framework, tenemos una solución que automatiza nuestras tareas de prueba de manera efectiva.

Guarda tu archivo de prueba y ejecútalo desde la línea de comandos utilizando el comando robot seguido del nombre de tu archivo.

robot webform_qax_testing.robot