Articles

¿Qué es el selenio? Introducción al Selenio Automatización de Pruebas

¿Qué es el Selenio?

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

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

  • Selenio Entorno de Desarrollo Integrado (IDE)
  • Selenio Control Remoto (RC)
  • WebDriver
  • Selenium Grid

Introducción de Selenio
Introducción de Selenio

Por el momento, Selenium RC y WebDriver se combinan en un único marco para formar el Selenio 2. El selenio 1, por cierto, se refiere al selenio RC.

haga Clic aquí si el vídeo no está accesible

En este tutorial, usted aprenderá:

  • ¿Qué es el Selenio?
  • ¿Quién desarrolló el Selenio?
  • El mismo problema de Política de origen
  • Nacimiento de Selenium Remote Control (Selenium RC)
  • Nacimiento de Selenium Grid
  • Nacimiento de Selenium IDE
  • Nacimiento de WebDriver
  • Nacimiento de Selenium 2
  • Entonces, ¿Por qué el Nombre Selenium?
  • Breve Introducción Selenium IDE
  • Breve introducción Selenium Remote Control (Selenium RC)
  • Breve introducción WebDriver
  • Selenium Grid
  • Nota sobre Compatibilidad con el Navegador y el entorno
  • Cómo Elegir la Herramienta de Selenio adecuada para Su necesidad
  • Una comparación entre Selenium y QTP(ahora UFT)
  • Ventajas de QTP sobre Selenium

¿Quién desarrolló el Selenio?

Dado que Selenium es una colección de diferentes herramientas, también tenía diferentes desarrolladores. A continuación se muestran las personas clave que hicieron contribuciones notables al Proyecto Selenium

Introducción a Selenium

Principalmente, Selenium fue creado por Jason Huggins en 2004. Ingeniero de ThoughtWorks, trabajaba en una aplicación web que requería pruebas frecuentes. Al darse cuenta de que las pruebas Manuales repetitivas de su aplicación se estaban volviendo cada vez más ineficientes, creó un programa JavaScript que controlaría automáticamente las acciones del navegador. Llamó a este programa «JavaScriptTestRunner».»

Viendo el potencial de esta idea para ayudar a automatizar otras aplicaciones web, creó JavaScriptRunner de código abierto que más tarde fue renombrado como Selenium Core.

El mismo problema de política de origen

La misma política de origen prohíbe que el código JavaScript acceda a elementos de un dominio que sea diferente de donde se lanzó. Ejemplo, el código HTML en www.google.com utiliza un programa JavaScript » randomScript.js». La misma política de origen solo permitirá randomScript.js para acceder a páginas dentro de google.com tales 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.

Introducción a Selenium

Esta es la razón por la que, antes de Selenium RC, los probadores necesitaban instalar copias locales de Selenium Core (un programa JavaScript) y el servidor web que contenía la aplicación web que se estaba probando para que pertenecieran al mismo dominio

Nacimiento del Control remoto Selenium (Selenium RC)

Introducción al Selenio

Desafortunadamente; los probadores que usaban Selenium Core tenían que instalar toda la aplicación bajo prueba y el servidor web en sus propios equipos locales debido a las restricciones impuestas por la misma política de origen. Así que otro ingeniero de ThoughtWork, Paul Hammant, decidió crear un servidor que actuaría como 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 se conoció como el Selenio Teledirigido o Selenio 1.

Nacimiento de la rejilla de Selenio

Introducción al Selenio

La rejilla de Selenio fue desarrollada por Patrick Lightbody para abordar la necesidad de minimizar los tiempos de ejecución de las pruebas tanto como sea posible. Inicialmente llamó al sistema «Control de calidad alojado».»Era capaz de capturar capturas de pantalla del navegador durante etapas significativas, y también de enviar comandos de Selenio a diferentes máquinas simultáneamente.

Nacimiento de Selenium IDE

Introducción a Selenium

Shinya Kasatani de Japón creó Selenium IDE, una extensión de Firefox que puede automatizar el navegador a través de 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

Introducción a Selenium Simon Stewart creó WebDriver alrededor de 2006, cuando los navegadores y las aplicaciones web se estaban volviendo más potentes y restrictivas con programas JavaScript como Selenium Core. Fue el primer marco de pruebas multiplataforma que podía controlar el navegador desde el nivel del sistema operativo.

Nacimiento de Selenium 2

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

Entonces, ¿Por qué el Nombre Selenio?

El nombre Selenium proviene de una broma que Jason le hizo una vez a su equipo. Durante el desarrollo de Selenium, otro marco de pruebas automatizado fue popular por la compañía llamada Mercury Interactive (sí, la compañía que originalmente fabricó QTP antes de que HP lo adquiriera). Dado que el selenio es un antídoto bien conocido para el envenenamiento por Mercurio, Jason sugirió que name y sus compañeros de equipo lo tomaran. Así es como llegamos a llamar a este marco hasta el presente.

Origen del nombre de Selenium framework

Breve introducción Selenium IDE

Selenium Integrated Development Environment (IDE) es el framework más simple de la suite Selenium y es el más fácil de aprender. Es un plugin para Firefox que puedes instalar tan fácilmente como con otros plugins. Sin embargo, debido a su simplicidad, el IDE de Selenio solo debe usarse como herramienta de creación de prototipos. Si desea crear casos de prueba más avanzados, necesitará usar Selenium RC o WebDriver.

Pros y Contras de Selenium IDE

Breve introducción El control remoto Selenium (Selenium RC)

Selenium RC fue el marco de pruebas insignia de todo el proyecto Selenium durante mucho tiempo. Esta es la primera herramienta de prueba web automatizada que permitió a los usuarios usar un lenguaje de programación que prefieran. A partir de la versión 2.25.0, RC puede admitir los siguientes lenguajes de programación:

  • Java
  • C#
  • PHP
  • Python
  • Perl
  • Ruby

Pros y los Contras de Selenium RC

Breve Introducción WebDriver

El WebDriver demuestra ser mejor que ambos Selenium IDE y Selenium RC en muchos aspectos. Implementa un enfoque más moderno y estable en la automatización de 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 lenguajes soportados son los mismos que los de Selenium RC.

  • Java
  • C#
  • PHP
  • Python
  • Perl
  • Ruby

Pros y Contras de Selenium Webdriver

Selenium Grid

Selenium Grid es una herramienta que se utiliza junto con Selenium RC para ejecutar pruebas paralelas en diferentes máquinas y navegadores al mismo tiempo. Ejecución en paralelo significa ejecutar múltiples pruebas a la vez.

Características:

  • Permite la ejecución simultánea de pruebas en múltiples navegadores y entornos.
  • Ahorra mucho tiempo.
  • Utiliza el concepto de hub y nodos. El hub actúa como una fuente central de comandos de Selenio para cada nodo conectado a él.

Nota sobre Compatibilidad con Navegadores y entornos

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

Selenium IDE WebDriver
Browser Support Mozilla Firefox Internet Explorer versions 6 to 11, both 32 and 64-bit
Microsoft Edge version 12.10240 & above ( partial support some functionalities under development)
Firefox 3.0 and above
Google Chrome 12.0. and above
Opera 11.5 and above
Android – 2.3 y superior para teléfonos y tabletas
(dispositivos & emuladores)
iOS 3+ para teléfonos (dispositivos & emuladores) y 3.2+ para tabletas (dispositivos & emuladores)
HtmlUnit 2.9 y superior
Sistema operativo Windows, Mac OS X, Linux Todos los sistemas operativos en los que se pueden ejecutar los navegadores anteriores.

tenga en cuenta: Selenium WebDriver se denomina como el sucesor de Selenium RC que ha sido obsoleto & anunciado oficialmente por SeleniumHQ.

Cómo Elegir el Derecho de Selenio Herramienta para Su Necesidad

Herramienta
¿Por Qué Elegir?

Selenium IDE

  • To learn about concepts on automated testing and Selenium, including:
  • Selenese commands such as type, open, clickAndWait, assert, verify, etc.
  • Locators such as id, name, xpath, css selector, etc.
  • Executing customized JavaScript code using runScript
  • Exporting test cases in various formats.
  • Para crear pruebas con poco o ningún conocimiento previo en programación.
  • Para crear casos de prueba simples y conjuntos de pruebas que puede exportar más tarde a RC o WebDriver.
  • Para probar una aplicación web solo con Firefox y Chrome.

Selenium RC

  • Para diseñar una prueba utilizando un lenguaje más expresivo que Selenese
  • Para ejecutar la 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 escenarios complejos basados en AJAX.

WebDriver

  • el uso De un determinado lenguaje de programación en el diseño de caso de prueba.
  • Para probar aplicaciones ricas en funcionalidades basadas en AJAX.
  • Para ejecutar pruebas en el navegador HtmlUnit.
  • Para crear resultados de pruebas personalizados.

Selenium Grid

  • Para ejecutar su Selenium RC scripts en varios navegadores y sistemas operativos simultáneamente.
  • Para ejecutar un conjunto de pruebas enorme, que debe completarse lo antes posible.

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

Quick Test Professional(QTP) es una herramienta de pruebas automatizada propiedad de la empresa Mercury Interactive antes de que la adquiriera Hewlett-Packard en 2006. El Selenio Herramienta Suite tiene muchas ventajas sobre QTP como se detalla a continuación –

Ventajas y Beneficios del Selenio sobre QTP

Selenio
QTP
código Abierto, de uso libre y gratuito. Comercial.
Altamente extensible Complementos limitados
Puede ejecutar pruebas en diferentes navegadores Solo puede ejecutar pruebas en Firefox, Internet Explorer y Chrome
Es compatible con varios sistemas operativos Solo se puede usar en Windows
Es compatible con dispositivos móviles automatización de pruebas (iOS & Android) utilizando la solución HP llamada-HP Mobile Center
Puede ejecutar pruebas mientras el navegador está minimizado Necesita tener la aplicación bajo prueba a ser visible en el escritorio
Puede ejecutar pruebas en paralelo. Solo se puede ejecutar en paralelo, pero utilizando Quality Center, que de nuevo es un producto de pago.

Advantages of QTP over Selenium

Advantages of QTP over Selenium
QTP
Selenium
Can test both web and desktop applications Can only test web applications
Comes with a built-in object repository Has no built-in object repository
Automatiza más rápido que el Selenio porque es un completo IDE. Se automatiza a un ritmo más lento porque no tiene un IDE nativo y solo se puede usar un IDE de terceros para el desarrollo
Las pruebas basadas en datos son más fáciles de realizar porque tienen tablas de datos globales y locales integradas. Las pruebas basadas en datos son más engorrosas, ya que debe confiar en las capacidades del lenguaje de programación para establecer valores para sus datos de prueba
Puede acceder a los controles dentro del navegador(como la barra de Favoritos, la barra de direcciones, los botones de retroceso y avance, etc.) No se puede acceder a elementos fuera de la aplicación web bajo prueba
Proporciona atención al cliente profesional No se ofrece asistencia oficial al usuario.
Tiene capacidad nativa para exportar datos de prueba a formatos externos No tiene capacidad nativa para exportar datos de tiempo de ejecución a formatos externos
La parametrización está incorporada La parametrización se puede hacer a través de la 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, el selenio supera al QTP en tres áreas principales:

  • Costo(porque Selenium es completamente gratuito)
  • Flexibilidad(debido a una serie de lenguajes de programación, navegadores y plataformas que puede soportar)
  • Pruebas paralelas(algo que QTP es capaz de pero solo con el uso de Centro de calidad)

Resumen

  • Toda la suite de pruebas de software de Selenium se compone de cuatro componentes:
  • Selenium IDE, un complemento de Firefox que solo puedes usar para crear casos de prueba y conjuntos de pruebas relativamente simples.
  • Control remoto Selenium, también conocido como Selenium 1, que es la primera herramienta de Selenium que permitió a los usuarios usar lenguajes de programación para crear pruebas complejas.
  • WebDriver, el nuevo avance que permite que sus scripts de prueba se comuniquen directamente con el navegador, controlándolo 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.
  • El selenio es más ventajoso que el QTP en términos de costos y flexibilidad. También le permite ejecutar pruebas en paralelo, a diferencia de QTP, donde solo se le permite ejecutar pruebas de forma secuencial.