Conceptos básicos de Selenium: componentes, características, usos y limitaciones

Selenium es una poderosa herramienta para controlar el navegador web a través del programa. Es funcional para todos los navegadores, funciona en todos los principales sistemas operativos y sus scripts están escritos en varios lenguajes, es decir, Python, Java, C#, etc. Trabajaremos con Python. Selenium tiene cuatro componentes principales: Selenium IDE, Selenium RC, Selenium Web driver, Selenium GRID.

Components-of-Selenium

Conceptos básicos de selenium

Componentes

Selenium ha estado en la industria durante mucho tiempo y es utilizado por probadores de automatización en todo el mundo.
Revisemos los cuatro componentes principales de Selenium:

IDE de selenium

Selenium IDE (Entorno de desarrollo integrado) es la herramienta principal de Selenium Suite. Es un completo entorno de desarrollo integrado (IDE) para pruebas de Selenium. Se implementa como complemento de Firefox y como extensión de Chrome. Permite la grabación, edición y depuración de pruebas funcionales. Anteriormente se conocía como Selenium Recorder. Selenium-IDE fue creado originalmente por Shinya Kasatani y donado al proyecto Selenium en 2006. Selenium IDE anteriormente tenía poco mantenimiento. Selenium IDE comenzó a recibir mantenimiento activo en 2018.

Los scripts se pueden grabar y editar automáticamente de forma manual, lo que proporciona compatibilidad con el autocompletado y la capacidad de mover los comandos rápidamente. Las secuencias de comandos se graban en selenese, un lenguaje de secuencias de comandos de prueba especial para Selenium. Selenese proporciona comandos para realizar acciones en un navegador (haga clic en un enlace, seleccione una opción) y para recuperar datos de las páginas resultantes.

Selenium RC (control remoto)

Selenium Remote Control (RC) es un servidor, escrito en Java, que acepta comandos para el navegador a través de HTTP. RC hace posible escribir pruebas automatizadas para una aplicación web en cualquier lenguaje de programación, lo que permite una mejor integración de Selenium en los marcos de pruebas de unidades existentes. Para facilitar las pruebas de escritura, el proyecto Selenium actualmente proporciona controladores de cliente para PHP, Python, Ruby, .NET, Perl y Java. El controlador Java también se puede utilizar con JavaScript (a través del motor Rhino). Se necesita una instancia del servidor Selenium RC para iniciar el caso de prueba html, lo que significa que el puerto debe ser diferente para cada ejecución paralela. Sin embargo, para el caso de prueba de Java/PHP, solo una instancia de Selenium RC debe estar ejecutándose continuamente.

Controlador web de selenium

Selenium WebDriver es el sucesor de Selenium RC. Selenium WebDriver acepta comandos (enviados en selenese o a través de una API de cliente) y los envía a un navegador. Esto se implementa a través de un controlador de navegador específico del navegador, que envía comandos a un navegador y recupera los resultados. La mayoría de los controladores de navegador inician y acceden a una aplicación de navegador (como Firefox, Google Chrome, Internet Explorer, Safari o Microsoft Edge); también hay un controlador de navegador HtmlUnit, que simula un navegador usando el navegador HtmlUnit sin interfaz gráfica de usuario.

Selenium WebDriver no necesita un servidor especial para ejecutar pruebas. En cambio, WebDriver inicia directamente una instancia de navegador y la controla. Sin embargo, Selenium Grid se puede usar con WebDriver para ejecutar pruebas en sistemas remotos (ver más abajo). Siempre que sea posible, WebDriver utiliza la funcionalidad del nivel del sistema operativo nativo en lugar de los comandos de JavaScript basados ​​en el navegador para controlar el navegador. Esto evita problemas con diferencias sutiles entre los comandos nativos y de JavaScript, incluidas las restricciones de seguridad.

Rejilla de selenium

Selenium Grid es un servidor que permite que las pruebas usen instancias de navegador web que se ejecutan en máquinas remotas. Con Selenium Grid, un servidor actúa como centro. Las pruebas se ponen en contacto con el concentrador para obtener acceso a las instancias del navegador. El concentrador tiene una lista de servidores que brindan acceso a las instancias del navegador (Nodes WebDriver) y permite que las pruebas usen estas instancias. Selenium Grid permite ejecutar pruebas en paralelo en varias máquinas y administrar diferentes versiones y configuraciones del navegador de forma centralizada (en lugar de en cada prueba individual).

La capacidad de ejecutar pruebas en instancias remotas del navegador es útil para distribuir la carga de las pruebas en varias máquinas y ejecutar pruebas en navegadores que se ejecutan en diferentes plataformas o sistemas operativos. Este último es particularmente útil en los casos en que no todos los navegadores que se utilizarán para las pruebas pueden ejecutarse en la misma plataforma.
Para obtener más información, consulte – Componentes de Selenium .

Características

  • Código abierto y portátil : Selenium es un marco de prueba web portátil y de código abierto.
  • Combinación de herramienta y DSL – Selenium es una combinación de herramientas y DSL (Domain Specific Language) para realizar varios tipos de pruebas.
  • Más fácil de entender e implementar : los comandos de Selenium se clasifican en diferentes clases, lo que facilita su comprensión e implementación.
  • Reduzca el tiempo de ejecución de la prueba : Selenium admite la ejecución de pruebas paralelas que reducen el tiempo necesario para ejecutar pruebas paralelas.
  • Se requieren menos recursos : Selenium requiere menos recursos en comparación con sus competidores como UFT, RFT, etc.
  • Admite múltiples lenguajes de programación : C#, Java, Python, PHP, Ruby, Perl y JavaScript
  • Admite múltiples sistemas operativos : Android, iOS, Windows, Linux, Mac, Solaris.
  • Admite múltiples navegadores : Google Chrome, Mozilla Firefox, Internet Explorer, Edge, Opera, Safari, etc.
  • Ejecución de pruebas en paralelo : también admite la ejecución de pruebas en paralelo, lo que reduce el tiempo y aumenta la eficiencia de las pruebas.

Para obtener más información, consulte: características de Selenium Webdriver

Aplicaciones

Selenium WebDriver se utiliza para automatizar las pruebas de aplicaciones web para verificar que funcionen como se espera. Es compatible con muchos navegadores como Firefox, Chrome, IE y Safari. Sin embargo, al usar Selenium WebDriver, podemos automatizar las pruebas solo para aplicaciones web.

  • Código abierto y portátil : Selenium es un marco de prueba web portátil y de código abierto.
  • Menos carga y estrés para los evaluadores : como se mencionó anteriormente, la cantidad de tiempo requerida para probar escenarios de prueba repetidos en todas y cada una de las nuevas versiones se reduce a cero, casi. Por lo tanto, la carga del probador se reduce.
  • Reducción de costos para los clientes comerciales : la empresa debe pagar a los probadores su salario, que se ahorra utilizando la herramienta de prueba de automatización. La automatización no solo ahorra tiempo, sino que también genera beneficios económicos para la empresa.
  • Mayor cobertura de prueba : con los usos de Selenium, el tiempo de prueba se reduce y, por lo tanto, el evaluador puede realizar más pruebas en otros escenarios de prueba al mismo tiempo.
  • Reduzca el tiempo de ejecución de la prueba : Selenium admite la ejecución de pruebas paralelas que reducen el tiempo necesario para ejecutar pruebas paralelas.

Para obtener más información, consulte: Aplicaciones y usos de Selenium WebDriver

Limitaciones

  • Sin soporte para aplicaciones de escritorio : Selenium no admite pruebas para aplicaciones de escritorio.
  • Experiencia : Selenium requiere experiencia de su equipo y recursos para administrar.
  • Mantenimiento y escalabilidad : Selenium es un marco que requiere mucho mantenimiento y es difícil de escalar a medida que crece.
  • Foros de código abierto : dado que Selenium es un software de código abierto, uno debe confiar en los foros de la comunidad para resolver sus problemas técnicos.
  • Sin soporte para plataformas REST y SOAP : no podemos realizar pruebas de automatización en servicios web como SOAP o REST usando Selenium.
  • Sin capacidad de informes : Selenium no tiene ninguna capacidad de informes incorporada, uno tiene que confiar en complementos como JUnit y TestNG para los informes de prueba.
  • Prueba de imagen : no es posible realizar pruebas en imágenes. Uno necesita integrar Selenium con Sikuli para la prueba de imágenes.

Para obtener más información, consulte – Limitaciones de Selenium Webdriver

Publicación traducida automáticamente

Artículo escrito por NaveenArora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *