Selenium WebDriver – arquitectura del framework

Selenium WebDriver – arquitectura del framework
MIN
30 Jun 2023

En el post anterior sobre Selenium intro – una introducción, conocimos los distintos componentes de Selenium, sus ventajas y sus limitaciones. Este tutorial se basa en el componente principal del conjunto de pruebas Selenium: Selenium Webdriver. Aquí conoceremos la arquitectura del framework Selenium WebDriver, sus componentes individuales y, a continuación, cómo funciona.

Índice

Arquitectura de Selenium WebDriver

Para comprender a fondo la automatización de la interfaz de usuario web mediante Selenium WebDriver, es necesario conocer su arquitectura. Para entender la arquitectura, primero tenemos que conocer los cuatro componentes que forman el marco.

Diagrama de arquitectura de Selenium WebDriver:

Biblioteca de clientes Selenium

Los desarrolladores de Selenium WebDriver han habilitado la compatibilidad con diversos lenguajes de programación. La biblioteca Selenium Client Library o parte de los enlaces de lenguaje de la arquitectura Selenium WebDriver nos permite escribir scripts de automatización de Selenium en el lenguaje que elijamos: Java, Python, C#, Ruby, Javascript, etc.

Controladores del navegador

Tenemos un controlador de navegador independiente para cada uno de los navegadores Selenium compatibles. Estos controladores reciben comandos de los scripts Selenium y los pasan a los navegadores adecuados.
De este modo, estos controladores de navegador permiten que el script Selenium se comunique con distintos navegadores. Esta comunicación también se produce sin revelar la lógica interna de estos navegadores. Algunos de los controladores de navegador de Selenium son FirefoxDriver, ChromeDriver, InternetExplorerDriver, SafariDriver, OperaBrowser, EdgeDriver y HtmlUnitDriver.

Cable JSON sobre HTTP

JSON o JavaScript Object Notation es un formato de datos ligero para almacenar y transferir datos. El protocolo JSON wire permite transferir datos entre el cliente y el servidor a través de la web.
En la arquitectura WebDriver, se utiliza el protocolo JSON wire para comunicarse entre los scripts Selenium y los controladores del navegador.

Navegadores

Este componente de la arquitectura del Webdriver en Selenium es bastante sencillo. Los navegadores reciben la orden y llaman al método adecuado para realizar la tarea de automatización requerida. Los distintos navegadores compatibles con Selenium son: Chrome, Firefox, IE, Edge, Safari, Opera, etc.

Explicación de la automatización mediante Selenium WebDriver

Es hora de echar un vistazo al funcionamiento interno de la automatización de aplicaciones web en distintos navegadores utilizando Selenium WebDriver. Un ejemplo de realización de una tarea sencilla de automatización:

WebDriver driver = nuevo FirefoxDriver();

controlador.get(«https://ittester.sk»);

driver.findElement(By.id(«botón»)).click();

El script está escrito en Java. Así, el componente Selenium Client Library nos ayuda a crear scripts en Java. Utilizando el protocolo JSON wire, el cliente Selenium se comunica con el controlador del navegador (Firefox en nuestro ejemplo). Ejecuta la operación get() para iniciar la página web ITtester.sk y luego pulsa el botón.

A continuación, el controlador del navegador Firefox envía los comandos al navegador adecuado. Cuando las tareas de automatización se completan con éxito, la respuesta se envía de vuelta al script de automatización.

Con esto concluye el tutorial sobre la arquitectura de WebDriver en Selenium. Continuamos con el siguiente capítulo de nuestros tutoriales – Selenium WebDriver – instalación. Esta guía te ayudará a configurar Selenium en tu ordenador.