Arquitectura de Selenium WebDriver: componentes, funciones y limitaciones
Publicado: 2020-12-17Probar el sistema es una tarea desafiante y no hay nada como una herramienta que lo automatice. Una herramienta que les viene a la mente a los probadores de automatización es Selenium. Si está ansioso por aprender sobre las habilidades de prueba de automatización con Selenium WebDriver , ha venido al lugar correcto. Empecemos.
Tabla de contenido
¿Qué es el selenio?
Selenium es una herramienta de prueba de automatización de código abierto. La herramienta solo prueba aplicaciones basadas en web y es compatible con múltiples navegadores y sistemas operativos.
Hay principalmente tres versiones de Selenium:
- Selenio RC
- IDE de selenio
- Rejilla de selenio
Todas estas versiones fueron lanzadas en 2007.
Selenio WebDriver
Hasta 2011, Selenium RC fue ampliamente utilizado. A mediados de 2011, Selenium lanzó una nueva versión, WebDriver 2.0. No fue una actualización de RC sino una herramienta completamente diferente. La diferencia fue que Selenium WebDriver 2.0 tiene sus propios comandos. La última versión de Selenium WebDriver es 3.14.
Selenium WebDriver Selenium WebDriver

- Capaz de hacer guiones dinámicos.
- Compatible con múltiples navegadores.
- Genera informes y registros.
- Rápido, ya que se comunica directamente con el navegador utilizando el motor del navegador.
- Interacción de la vida real entre los elementos de la página.
- La API de Selenium WebDriver es mucho más simple y no contiene comandos confusos ni redundantes.
- Selenium WebDriver puede admitir el navegador HtmlUnit sin interfaz gráfica de usuario.
Hay cinco componentes de Selenium WebDriver Architecture:
- Language Binding o Selenium Client Library: estos son archivos Jar, y este es el lenguaje utilizado para escribir el marco de Selenium. El script de Selenium está escrito en Java, C#, Ruby, Python y Perl.
- Interfaz de programación de aplicaciones (API) de Selenium: la API proporciona el conjunto de reglas y especificaciones a las que se adhiere cualquier lenguaje de software. También es necesario comunicarse con otros programas de software. En resumen, la API actúa como interfaz entre los programas de software y los canales de comunicación de CA.
- Remote WebDriver: Es la clase de implementación de la interfaz WebDriver. Un desarrollador de secuencias de comandos de prueba utiliza la clase en una máquina remota para ejecutar la secuencia de comandos de prueba a través de un servidor WebDriver.
- Notación de objetos de JavaScript (JSON) Protocolo cableado: JSON es un formato liviano de datos intercambiables para facilitar el intercambio de datos. Transfiere datos entre el cliente y el servidor en la web. El archivo JSON tiene una extensión .json. El protocolo cableado JSON envía datos en formato JSON. Luego, el servidor analiza los datos y los ejecuta. Después de la ejecución, el servidor da una respuesta y la envía de vuelta al cliente en formato JSON.
- WebDriver: WebDriver es la herramienta que automatiza las aplicaciones web y verifica que funcionen como se espera.
Arquitectura de Selenium WebDriver
Ahora nos centraremos en la arquitectura Selenium WebDriver . La API de Selenium WebDriver facilita las interacciones entre los navegadores y los controladores de los navegadores. La arquitectura comprende las siguientes cuatro capas:
- Biblioteca de cliente de Selenium
- Protocolo de conexión JSON
- Controladores de navegador
- navegadores
¿Cómo funciona Selenium WebDriver internamente?
El código de Selenium WebDriver está escrito en el entorno de desarrollo integrado (IDE) de Eclipse. Utiliza cualquiera de las bibliotecas de cliente de Selenium, como Java.

Una vez que el script esté listo, haga clic en Ejecutar para ejecutar el programa. Según el script anterior, el navegador Chrome se iniciará y navegará al sitio web de SeleniumHQ.
Use los siguientes pasos genéricos para la arquitectura interna de Selenium WebDriver:
1. Haga clic en Ejecutar .
La biblioteca cliente de Selenium se comunica con la API de Selenium.
2. La API de Selenium envía el comando de idioma desde el enlace de nivel al controlador del navegador.
La comunicación se realiza a través del protocolo cableado JSON.
3. La API de Selenium envía la solicitud al controlador del navegador.
El controlador del navegador utiliza el servidor HTTP para obtener la solicitud HTTP.
4. El servidor HTTP filtra todos los comandos necesarios para la ejecución.
Los comandos en el script de Selenium se ejecutan en el navegador.
5. El servidor HTTP envía la respuesta al script de prueba de automatización.
Especificaciones técnicas de Selenium WebDriver
- Sistema operativo (SO): Windows, Solaris, Linux y Mac OS
- Navegador compatible: Internet Explorer, Google Chrome 12.0.712.0 y superior, Safari, Opera 11.5 y superior, Mozilla Firefox, Internet Explorer, HtmlUnit 2.9, Android e iOS
Las mejores características de Selenium WebDriver
- Compatibilidad con múltiples navegadores: admite casi todos los navegadores.
- Compatibilidad con varios idiomas: admite la mayoría de los lenguajes de programación más utilizados.
- Velocidad: Selenium WebDriver es más rápido en comparación con otras herramientas de Selenium Suite.
- Comandos simples: los comandos comunes se usan e implementan fácilmente en Selenium WebDriver. Por ejemplo, para iniciar un navegador en Selenium WebDriver, ejecute el siguiente comando:
- Controlador WebDriver = nuevo FirefoxDriver(); (navegador Firefox)
- Controlador WebDriver = nuevo ChromeDriver(); (navegador Chrome)
- Controlador WebDriver = nuevo InternetExplorerDriver(); (navegador Internet Explorer)
- Métodos y clases: Selenium WebDriver tiene múltiples soluciones para resolver posibles desafíos en las pruebas de automatización.
Leer: Ideas y temas del proyecto Selenium

Limitaciones de Selenium WebDriver
- Selenium WebDriver no admite automáticamente nuevos navegadores
Como WebDriver opera en el nivel del sistema operativo, cada navegador se comunica con el sistema operativo de diversas maneras. Por lo tanto, para un navegador nuevo, la comunicación con el sistema operativo puede ser diferente, lo que genera un problema de compatibilidad. Deberá proporcionar a su equipo de Selenium WebDriver algo de tiempo para que el nuevo navegador sea compatible con Selenium WebDriver .
- Selenium WebDriver no tiene un comando incorporado para generar automáticamente un archivo de 'Resultados de prueba'
Debe confiar en la ventana de salida del entorno de desarrollo integrado (IDE). También puede diseñarlo usted mismo usando su idioma preferido y almacenarlo como un archivo HTML o como texto.
Lea también: Salario de desarrollador de Selenium en India
Inscríbase en cursos de ingeniería de software de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.
Pensamientos finales
- Selenium WebDriver es una herramienta que prueba aplicaciones web en diferentes navegadores.
- Utiliza diferentes lenguajes de programación.
- Selenium WebDriver es una versión mejorada de Selenium RC debido a su arquitectura más simple.
- Selenium WebDriver tiene una API concisa.
Si está interesado en obtener más información sobre el desarrollo de software de pila completa, consulte el programa Executive PG de upGrad & IIIT-B en desarrollo de software de pila completa, que está diseñado para profesionales que trabajan y ofrece más de 500 horas de capacitación rigurosa, más de 9 proyectos, y asignaciones, estado de ex alumnos de IIIT-B, proyectos finales prácticos y asistencia laboral con las mejores empresas.
