¿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
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
|
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.
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)
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
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
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
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.
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.
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
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
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
|
|
---|---|
Selenium IDE |
|
Selenium RC |
|
WebDriver |
|
Selenium Grid |
|
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
|
|
---|---|
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
|
|
---|---|
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.
Leave a Reply