Descripción general de la arquitectura Selenium

Actualmente, Selenium es una de las herramientas más populares para la automatización en el mercado. Es una herramienta muy poderosa y es ampliamente utilizada. Una de las razones de su popularidad es que es gratis, es decir, es un conjunto de pruebas de código abierto. Su popularidad no es solo el resultado de esto, sino muchas más razones. Es una herramienta de automatización para aplicaciones web y admite todos los diferentes navegadores como Internet Explorer, Chrome, Safari, Mozilla Firefox, Opera, etc. Extiende el soporte a diferentes plataformas junto con varios lenguajes de programación como C #, Java, Perl, PHP, Python, Ruby. El selenio es algo similar a la herramienta UFT (HP Quick Test Pro o QTP). La principal diferencia es que Selenium se dedica únicamente a la automatización de aplicaciones basadas en web. Si usa Selenium para las pruebas, se conoce como Selenium Testing.

Recuerde que Selenium es una suite de interfaz de usuario web (UI) de código abierto para pruebas de automatización. Tiene mucho software que satisface de forma independiente los requisitos de un probador de automatización en una organización. La herramienta fue desarrollada en trabajos de pensamiento por Jason Huggins en 2004 como una herramienta interna. Selenium admite varias plataformas diferentes como Windows, Linux, Solaris y Macintosh. También es compatible con el sistema operativo (OS) para aplicaciones móviles como Windows Mobile y Android Mobile, iOS. Todas las pruebas funcionales pueden automatizarse y llevarse a cabo utilizando Selenium fácilmente. Para lograr pruebas continuas, también puede integrarse con otras herramientas de prueba para la automatización como Maven, Docker, Jenkins, etc. Como el selenio es incapaz de generar informes de prueba por sí solo, debe integrarse con herramientas como JUnit o TestNG en para gestionar casos de prueba y generar informes que sean descriptivos y configurables según nuestros requisitos.

Arquitectura de selenio

Las cuatro arquitecturas principales de Selenium se enumeran a continuación:

  1. Selenio IDE
  2. Selenium RC
  3. Selenium Webdriver
  4. Rejilla de selenio

1) Selenium IDE o Integrated Development Environment se pueden implementar como una extensión de Firefox. No se requiere lógica de programación para escribir scripts de prueba en IDE, ya que le permite simplemente grabar los eventos que ocurren como resultado de sus interacciones con el navegador junto con las funcionalidades de reproducción, edición y depuración de pruebas. Toda la grabación y reproducción puede ejecutarse en un entorno real. Los scripts generados se pueden editar más tarde a mano. Se cree que proporciona un entorno ideal para crear scripts de prueba de Selenium independientemente de su forma preferida de prueba. Es cierto que no necesita ningún conocimiento del lenguaje de programación para usar Selenium IDE, pero el conocimiento básico previo de JavaScript será útil al usar comandos Selenese como runScript, etc. Una de las limitaciones de Selenium IDE es que al ser un complemento de Firefox solo es compatible un navegador, es decir, Mozilla Firefox.

2) Selenium Remote Control es una herramienta de prueba de automatización que le permite crear scripts de prueba para una aplicación web en cualquier lenguaje de programación utilizando cualquier navegador que tenga habilitado JavaScript. Básicamente, Selenium RC tiene dos componentes principales: un servidor y una biblioteca de cliente.

La función de un servidor aquí es iniciar y eliminar el navegador, recibir y verificar las solicitudes HTTP realizadas entre el navegador y la aplicación bajo prueba, interpretar y ejecutar los comandos Selenese aprobados por el programa de prueba y también actuar como un proxy HTTP. Sin embargo, las bibliotecas del cliente actúan como una interfaz entre el servidor Selenium RC y los diferentes lenguajes de programación que se utilizan.

La metodología de la arquitectura Cliente-Servidor de RC, con Selenium RC entre Automation Suite y AUT (Aplicación bajo prueba), hace que la ejecución de los scripts sea más lenta. El Selenium Webdriver se encarga de esto, ya que se comunica directamente con el AUT y hace uso de la compatibilidad natural del navegador con la automatización sin la necesidad de ningún servidor.

3) Selenium WebDriver es el componente más popular e importante de Selenium. Es una de las herramientas de automatización más populares en la que actualmente confían varios ingenieros de automatización. La herramienta es una "herramienta de código abierto", es decir, está disponible de forma gratuita.

WebDriver es una versión mejorada de Selenium RC que extiende su soporte a diferentes navegadores y plataformas, a diferencia de Selenium IDE. La ejecución de scripts de prueba no requiere que se inicie ningún servidor Selenium, a diferencia de Selenium RC. Selenium Webdriver es básicamente una API de herramienta de automatización de pruebas basada en la web que es fácil de entender y usar. También es compatible con la prueba de páginas web dinámicas. Selenium Webdriver ayuda a crear y mantener los scripts de prueba de una manera muy simple, ya que no está vinculado a ninguna herramienta o marco de prueba. Esto facilita la integración con cualquier herramienta de código abierto como Junit, TestNG, etc. según nuestro conocimiento, requisito y uso.

4) Selenium Grid es uno de los componentes de Selenium Suite que admite la ejecución de múltiples scripts de prueba en varios navegadores o sistemas operativos o máquinas diferentes. Después de especificar el sistema operativo de su elección junto con el navegador y la versión del navegador, la red de selenio se puede conectar fácilmente con Selenium Remote. Estos valores solo se pueden especificar en función de las capacidades del Selenium Remote que se utiliza.

Hub y nodos son sus dos componentes principales. Para poder utilizar la herramienta Selenium Grid, el primer paso para realizar es crear un centro. Después de crear un concentrador, se pueden conectar varios nodos diferentes a este concentrador. Los scripts de prueba se ejecutan en el nodo. Sin embargo, la función del concentrador es asegurarse de que la prueba termine correctamente en las especificaciones proporcionadas, como los detalles de la máquina, el sistema operativo y el navegador especificado en su prueba.

Conclusión

Para concluir, Selenium es básicamente un conjunto de herramientas, a saber, IDE, una extensión de Firefox que permite funciones de grabación y reproducción. La función de grabación / reproducción es limitada y solo está disponible para Firefox, por lo que la segunda herramienta es el RC con Webdriver (tercera herramienta) como su extensión que proporciona API en diferentes idiomas y compatibilidad del navegador. Finalmente, Grid es responsable de hacer posible la ejecución paralela de scripts en diferentes navegadores y máquinas.

Artículos recomendados

Esta ha sido una guía de Selenium Architecture. Aquí discutimos la introducción y la arquitectura superior 4 del selenio. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. Carrera en Selenium
  2. Ciclo de vida de defectos en pruebas de software
  3. Cómo instalar selenio
  4. Preguntas de la entrevista de selenio