¿Qué es el Selenium? Introducción a Selenium Pruebas de automatización

¿Qué es el Selenium?

Selenium es un marco de prueba automatizado gratuito (de código abierto) que se utiliza para validar aplicaciones web en diferentes navegadores y plataformas. Puedes utilizar múltiples lenguajes de programación como Java, C#, Python, etc. para crear Selenium Guiones de prueba. Pruebas realizadas utilizando el Selenium La herramienta de prueba generalmente se conoce como Selenium Pruebas .

Selenium Conjunto de herramientas

Selenium El software no es solo una herramienta sino un conjunto de software, cada pieza atiende a diferentes Selenium Necesidades de pruebas de calidad de una organización. Aquí está la lista de herramientas.

  • Selenium Entorno de desarrollo integrado (IDE)
  • Selenium Mando a distancia (RC)
  • Controlador web
  • Selenium Cuadricula

Selenium Conjunto de herramientas

En el momento, Selenium RC y WebDriver se fusionan en un único marco para formar Selenium 2. Selenium 1, por cierto, se refiere a Selenium RC

Video Tutorial Selenium

Haga clic en aquí si el video no es accesible

quien desarrolló Selenium?

Since Selenium es una colección de diferentes herramientas, también tuvo diferentes desarrolladores. A continuación se detallan las personas clave que hicieron contribuciones notables a la Selenium Proyectos

Desarrollado Selenium

Ante todo, Selenium fue 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 JavaGuión programa que controlaría automáticamente las acciones del navegador. Llamó a este programa el “JavaEjecutor de pruebas de scripts."

Al ver el potencial de esta idea para ayudar a automatizar otras aplicaciones web, hizo JavaScriptRunner de código abierto, que luego fue rebautizado como Selenium Core. Para aquellos interesados ​​en explorar otras opciones para probar aplicaciones web, eche un vistazo a estas Selenium alternativas.

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

La política del mismo origen prohíbe JavaCódigo de script que accede a elementos de un dominio diferente de donde se lanzó. Por ejemplo, el código HTML en www.google.com utiliza un JavaPrograma de script “randomScript.js”. La política de mismo 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 sitios diferentes, 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, se necesitaban probadores para instalar copias locales de ambos Selenium Núcleo (un JavaPrograma de script) y el servidor web que contiene la aplicación web que se está probando para que pertenezcan al mismo dominio

Nacimiento de Selenium Control remoto (Selenium CR)

Pablo Hammant

Desafortunadamente; probadores usando Selenium Core tuvo 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 El núcleo y la aplicación web que se está probando provienen del mismo dominio. Este sistema llegó a ser conocido como el Selenium Control Remoto or Selenium 1.

Nacimiento de Selenium Cuadricula

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 enviando Selenium comandos a diferentes máquinas simultáneamente.

Nacimiento de Selenium IDE

Shinya Kasatani

Shinya Kasatani de Japón creado Selenium 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. el donó Selenium IDE al Selenium Proyecto 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 JavaProgramas de script como Selenium Núcleo. Fue el primer marco de prueba multiplataforma que podía controlar el navegador desde el nivel del sistema operativo.

Nacimiento de Selenium 2

In 2008, El conjunto Selenium El equipo decidió fusionar WebDriver y Selenium RC para formar una herramienta más poderosa llamada Selenium 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 Selenium Los esfuerzos del proyecto ahora se centran en Selenium 2.

Entonces, ¿por qué el nombre? Selenium?

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

Por qué el nombre Selenium

¿Qué es el Selenium IDE?

Selenium El entorno de desarrollo integrado (IDE) es el marco más simple en la categoría Industrial. Selenium suite 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 sencillez, Selenium IDE sólo debe usarse como herramienta de creación de prototipos. Si desea crear casos de prueba más avanzados, deberá utilizar cualquiera de los dos Selenium RC o WebDriver.

Selenium IDE

¿Qué es el Selenium Control remoto (Selenium RC)?

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

Selenium Control remoto (Selenium CR)

¿Qué es WebDriver?

El WebDriver demuestra ser mejor que Selenium IDE y Selenium RC en muchos aspectos. Implementa un enfoque más moderno y estable para automatizar las acciones del navegador. WebDriver, a diferencia Selenium RC, no depende de JavaGuión para Selenium Pruebas de automatización. 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 el Selenium Rejilla?

Selenium La cuadrícula es una herramienta usado junto con Selenium RC para correr 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 ejecución simultánea de 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 Selenium comandos a cada nodo conectado a él.

Selenium Soporte de navegador y entorno

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

  Selenium IDE Controlador web
Soporte del navegador Mozilla Firefox y Chrome

Google Chrome 12+

Firefox

Internet Explorer 7+ y Edge

safari, 

HtmlUnit y PhantomUnit

Operating sistema Windows, Mac OS X, Linux Todos los sistemas operativos donde pueden ejecutarse los navegadores anteriores.

Nota: Opera El conductor ya no funciona

Cómo elegir la clínica de Selenium Herramienta para su necesidad

¿Por qué elegir?
Selenium IDE
  • Para aprender sobre conceptos sobre pruebas automatizadas y Seleniumque incluyen:
  • Comandos seleneses como escribir, abrir, hacer clic y esperar, afirmar, verificar, etc.
  • Localizadores como id, nombre, xpath, selector css, etc.
  • Ejecutando personalizado JavaCódigo de script que utiliza 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 y conjuntos de pruebas simples que pueda exportar posteriormente a RC o WebDriver.
  • Para probar una aplicación web contra Firefox y solo Chrome.
Selenium 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 usando Selenium Rejilla
  • Para probar su aplicación con un nuevo navegador que admita JavaGuión.
  • Para probar aplicaciones web con escenarios complejos 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.
Selenium Cuadricula
  • Para ejecutar tu Selenium Scripts RC en múltiples navegadores y sistemas operativos simultáneamente.
  • Para ejecutar un conjunto de pruebas enorme, es necesario completarlo lo antes posible.

Una comparación entre Selenium 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 Formulario antes de que Hewlett-Packard lo adquiriera en 2006Su 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 de Selenium sobre QTP

Selenium 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 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 de la forma más 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 Selenium

QTP Selenium
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)

Resum

  • La totalidad Selenium Software Testing Suite se compone de cuatro componentes:
  • Selenium Idea Firefox y complemento de Chrome que solo puede usar para crear casos de prueba y conjuntos de pruebas relativamente simples.
  • Selenium Control remoto, también conocido como Selenium 1, es el primero Selenium herramienta que permitía a los usuarios utilizar lenguajes de programación para crear pruebas complejas.
  • 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 es también 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.