¿Qué es el selenio? Introducción a las pruebas de automatización de Selenium

¿Qué es el selenio?

Selenio es un marco de prueba automatizado gratuito (de código abierto) que se utiliza para validar aplicaciones web en diferentes navegadores y plataformas. Puede utilizar varios lenguajes de programación como Java, C#, Python, etc. para crear scripts de prueba de Selenium. Las pruebas realizadas con la herramienta de prueba Selenium generalmente se denominan Prueba de selenio.

Conjunto de herramientas de selenio

Selenium Software no es solo una herramienta única, sino un conjunto de software, cada pieza satisface diferentes necesidades de pruebas de control de calidad de Selenium de una organización. Aquí está la lista de herramientas.

  • Entorno de desarrollo integrado (IDE) de Selenium
  • Control remoto de selenio (RC)
  • Controlador web
  • Rejilla de selenio

Conjunto de herramientas de selenio

Por el momento, Selenium RC y WebDriver están fusionados en un único marco para formar Selenio 2. Selenio 1, por cierto, se refiere a Selenio RC.

Video Tutorial Selenio

Haga clic Aquí si el video no es accesible

¿Quién desarrolló el selenio?

Dado que Selenium es una colección de herramientas diferentes, también tuvo diferentes desarrolladores. A continuación se detallan las personas clave que hicieron contribuciones notables al Proyecto Selenio.

Selenio desarrollado

Principalmente, el selenio era creado por Jason Huggins en 2004. Ingeniero en ThoughtWorks, estaba trabajando en una aplicación web que requería pruebas frecuentes. Al darse cuenta de que las repetitivas pruebas manuales de su aplicación se estaban volviendo cada vez más ineficientes, creó un JavaScript programa que controlaría automáticamente las acciones del navegador. Llamó a este programa el “Corredor de pruebas de JavaScript."

Al ver el potencial de esta idea para ayudar a automatizar otras aplicaciones web, creó JavaScriptRunner de código abierto, que luego pasó a llamarse Núcleo de selenio. Para aquellos interesados ​​en explorar otras opciones para probar aplicaciones web, eche un vistazo a estas Alternativas al selenio.

La cuestión de la política del mismo origen

La política del mismo origen prohíbe que el código JavaScript acceda a elementos de un dominio que sea diferente de donde se lanzó.. Por ejemplo, el código HTML en www.google.com utiliza un programa JavaScript "randomScript.js". La misma política de origen solo permitirá que randomScript.js acceda a páginas dentro de google.com, como google.com/mail, google.com/login o google.com/signup. Sin embargo, no puede acceder a páginas de diferentes sitios como yahoo.com/search o guru99.com porque pertenecen a dominios diferentes.

La cuestión de la política del mismo origen

Esta es la razón por la que antes de Selenium RC, los evaluadores necesitaban instalar copias locales tanto de Selenium Core (un programa JavaScript) como del servidor web que contiene la aplicación web que se estaba probando para que pertenecieran al mismo dominio.

Nacimiento del control remoto Selenium (Selenium RC)

Pablo Hammant

Desafortunadamente; Los evaluadores que utilizaron Selenium Core tuvieron que instalar toda la aplicación bajo prueba y el servidor web en sus propias computadoras locales debido a las restricciones impuestas por el misma política de origen. Entonces, otro ingeniero de ThoughtWork, Pablo Hammant, decidió crear un servidor que actuará como un proxy HTTP para "engañar" al navegador haciéndole creer que Selenium Core y la aplicación web que se está probando provienen del mismo dominio. Este sistema llegó a ser conocido como el Control remoto de selenio or Selenio 1.

Nacimiento de la red de selenio

patrick cuerpo de luz

Selenium Grid fue desarrollado por patrick cuerpo de luz para abordar la necesidad de minimizar al máximo los tiempos de ejecución de las pruebas. Inicialmente llamó al sistema “Control de calidad alojado.” Era capaz de capturar capturas de pantalla del navegador durante etapas importantes, y también de enviar comandos de Selenium a diferentes máquinas simultáneamenteneoUsualmente

Nacimiento de Selenium IDE

Shinya Kasatani

Shinya Kasatani de Japón creado Selenio IDE, Firefox y una extensión de Chrome que puede automatizar el navegador mediante una función de grabación y reproducción. Se le ocurrió esta idea para aumentar aún más la velocidad en la creación de casos de prueba. Donó Selenium IDE al Proyecto Selenium en 2006.

Nacimiento de WebDriver

Simon Stewart

Simon Stewart WebDriver creado alrededor 2006 cuando los navegadores y las aplicaciones web se volvían más potentes y restrictivos con programas JavaScript como Selenium Core. Fue el primer marco de prueba multiplataforma que podía controlar el navegador desde el nivel del sistema operativo.

Nacimiento del selenio 2

In 2008, todo el equipo de Selenium decidió fusionar WebDriver y Selenium RC para formar una herramienta más poderosa llamada Selenio 2, con las WebDriver es el núcleo. Actualmente, Selenium RC todavía está en desarrollo pero sólo en modo de mantenimiento. La mayoría de los esfuerzos del Proyecto Selenium se centran ahora en Selenium 2.

Entonces, ¿por qué el nombre selenio?

El nombre selenio vino de una broma que Jason le contó una vez a su equipo. Durante el desarrollo de Selenium, otro pruebas automatizadas El marco fue popular hecho por la compañía llamada Mercury Interactive (sí, la empresa que originalmente fabricó QTP antes de que HP la adquiriera). Dado que el selenio es un antídoto muy conocido para el envenenamiento por mercurio, Jason sugirió ese nombre y sus compañeros de equipo lo adoptaron. Así es como llegamos a llamar a este marco hasta el presente.

¿Por qué el nombre selenio?

¿Qué es Selenio IDE?

El entorno de desarrollo integrado (IDE) de Selenium es el marco más simple en la suite Selenium y es el más fácil de aprender. Es una Chrome y Firefox plugin que puedes instalar tan fácilmente como puedes con otros complementos. Sin embargo, debido a su simplicidad, Selenium IDE sólo debe usarse como herramienta de creación de prototipos. Si desea crear casos de prueba más avanzados, deberá utilizar Selenium RC o WebDriver.

Selenio IDE

¿Qué es el control remoto de Selenium (Selenium RC)?

Selenio RC fue el marco de prueba emblemático de todo el proyecto Selenium durante mucho tiempo. Este es el primer sistema automatizado. pruebas web herramienta que permite a los usuarios utilizar el lenguaje de programación que prefieran. A partir de la versión 2.25.0, RC puede admitir lo siguientewing lenguajes de programación:

Control remoto de selenio (Selenio RC)

¿Qué es WebDriver?

El WebDriver demuestra ser mejor que Selenio IDE y Selenio RC en muchos aspectos. Implementa un enfoque más moderno y estable para automatizar las acciones del navegador. WebDriver, a diferencia de Selenium RC, no depende de JavaScript para las pruebas de automatización de Selenium. Controla el navegador comunicándose directamente con él.

Los idiomas admitidos son los mismos que los de Selenium RC.

  • Java
  • C#
  • PHP
  • Python
  • Perl
  • Rubí

controlador web

¿Qué es Selenium Grid?

Selenium Grid es una herramienta utilizado junto con Selenium RC para ejecutar pruebas paralelas en diferentes máquinas y diferentes navegadores, todo al mismo tiempo. La ejecución paralela significa ejecutar varias pruebas a la vez.

Características:

  • Activa simultáneaneonosotros ejecutando pruebas in múltiples navegadores y entornos.
  • Ahorra tiempo: enormemente
  • Utiliza el centro y nodos concepto. El centro actúa como una fuente central de comandos de Selenium para cada nodo conectado a él.

Soporte para el entorno y el navegador Selenium

Debido a sus diferencias arquitectónicas, Selenium IDE, Selenium RC y WebDriver admiten diferentes conjuntos de navegadores y entornos operativos.

  Selenio IDE Controlador web
Soporte del navegador Mozilla Firefox y Chrome

Google Chrome 12+

Firefox

Internet Explorer 7+ y Edge

safari, 

HtmlUnit y PhantomUnit

Sistema operativo Windows, MacOSX, Linux Todos los sistemas operativos donde se pueden ejecutar los navegadores anteriores.

Nota: Opera Driver ya no funciona

Cómo elegir la herramienta de selenio adecuada para sus necesidades

¿Por qué elegir?
Selenio IDE
  • Para conocer conceptos sobre pruebas automatizadas y Selenium, que incluyen:
  • Comandos seleneses como escribir, abrir, hacer clic y esperar, afirmar, verificar, etc.
  • Localizadores como id, nombre, xpath, selector css, etc.
  • Ejecutar código JavaScript personalizado usando runScript
  • Exportación de casos de prueba en varios formatos.
  • Crear pruebas con poco o ningún conocimiento previo en programación.
  • Para crear casos de prueba simples y conjuntos de pruebas que pueda exportar más tarde a RC o WebDriver.
  • Para probar una aplicación web contra Firefox y solo Chrome.
Selenio RC
  • Diseñar una prueba utilizando un lenguaje más expresivo que el selenese.
  • Para ejecutar su prueba en diferentes navegadores (excepto HtmlUnit) en diferentes sistemas operativos.
  • Para implementar sus pruebas en múltiples entornos utilizando Selenium Grid.
  • Para probar su aplicación con un nuevo navegador que admita JavaScript.
  • Para probar aplicaciones web con complex Escenarios basados ​​en AJAX.
Controlador web
  • Utilizar un determinado lenguaje de programación al diseñar su caso de prueba.
  • Probar aplicaciones ricas en funcionalidades basadas en AJAX.
  • Para ejecutar pruebas en el navegador HtmlUnit.
  • Para crear resultados de pruebas personalizados.
Rejilla de selenio
  • Para ejecutar sus scripts de Selenium RC en múltiples navegadores y sistemas operativos simultáneamenteneoUsualmente
  • Para ejecutar un conjunto de pruebas enorme, es necesario completarlo lo antes posible.

Una comparación entre selenio y QTP (ahora UFT)

Profesional de pruebas rápidas (QTP) es una herramienta de prueba automatizada patentada que anteriormente era propiedad de la empresa Mercury Interactive antes de que Hewlett-Packard lo adquiriera en 2006. Su propietario posterior es MicroFocus y la herramienta pasa a llamarse UFT one. Selenium Tool Suite tiene muchas ventajas sobre  QTP como se detalla a continuación -

Ventajas y beneficios del selenio sobre QTP

Selenio QTP
Fuente abierta, de uso gratuito. y gratis. Comercial.
Altamente extensible Complementos limitados
Puede ejecutar pruebas en diferentes navegadores Sólo se pueden ejecutar pruebas en Firefox, Internet Explorer y Chrome
soportes varios sistemas operativos Solo se puede usar en Windows
soportes dispositivos móviles QTP admite la automatización de pruebas de aplicaciones móviles (iOS y Android) utilizando la solución HP llamada HP Mobile Center
Puede ejecutar pruebas mientras la el navegador está minimizado Necesita tener la aplicación bajo prueba para que sea visible en el escritorio.
Puede ejecutar pruebas en paralelo. Solo se puede ejecutar en paralelo pero utilizando Quality Center, que nuevamente es un producto pago.

Ventajas de QTP sobre el selenio

QTP Selenio
puede probar aplicaciones web y de escritorio Solo se pueden probar aplicaciones web
Viene con un repositorio de objetos incorporado No tiene un repositorio de objetos incorporado
Automatiza más rápido que Selenium porque es un IDE con todas las funciones. Se automatiza a un ritmo más lento porque no tiene un IDE nativo y solo se puede utilizar IDE de terceros para el desarrollo.
Las pruebas basadas en datos son más fáciles de realizar porque Tiene tablas de datos globales y locales integradas.. Las pruebas basadas en datos son más engorrosas ya que hay que confiar en las capacidades del lenguaje de programación para establecer valores para los datos de prueba.
Puede acceder a los controles dentro del navegador.(como la barra de Favoritos, la barra de Direcciones, los botones Atrás y Adelante, etc.) No se puede acceder a elementos fuera de la aplicación web bajo prueba
Proporciona profesional atención al cliente No se ofrece soporte oficial al usuario.
Tiene capacidad nativa para exportar datos de prueba en formatos externos No tiene capacidad nativa para exportar datos en tiempo de ejecución a formatos externos.
Se construye soporte de parametrización La parametrización se puede realizar mediante programación, pero es difícil de implementar.
Los informes de prueba se generan automáticamente No hay soporte nativo para generar informes de prueba/error.

Aunque claramente QTP tiene capacidades más avanzadas, Selenium supera a QTP en tres áreas principales:

  • Costo(porque Selenium es completamente gratis)
  • Flexibilidad (debido a una serie de lenguajes de programación, navegadores y plataformas que puede admitir)
  • Pruebas paralelas(algo de lo que QTP es capaz pero solo con el uso de Quality Center)

Resumen

  • Todo el paquete de pruebas de software Selenium se compone de cuatro componentes:
  • Selenio IDE, un Firefox y complemento de Chrome que solo puede usar para crear casos de prueba y conjuntos de pruebas relativamente simples.
  • Selenium Remote Control, también conocido como Selenium 1, es la primera herramienta Selenium que permitió a los usuarios utilizar lenguajes de programación para crear com.plex pruebas.
  • WebDriver es el avance más reciente que permite que sus scripts de prueba se comuniquen directamente con el navegador, controlándolo así desde el nivel del sistema operativo.
  • Selenium Grid también es una herramienta que se utiliza con Selenium RC para ejecutar pruebas paralelas en diferentes navegadores y sistemas operativos.
  • Selenium RC y WebDriver se fusionaron para formar Selenium 2.
  • Selenium es más ventajoso que Microfocus UFT One en términos de costes y flexibilidad.