¿Qué es SeleniumTutorial de introducción
⚡ Resumen inteligente
Selenium Es un marco de pruebas automatizadas gratuito y de código abierto diseñado para validar aplicaciones web en distintos navegadores y plataformas utilizando múltiples lenguajes de programación. Permite una automatización de pruebas robusta, eficiente y escalable para las prácticas modernas de control de calidad.

¿Qué es 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.
Lo que dicen los expertos
Evite usar retrasos de suspensión fijos en sus pruebas. En su lugar, utilice esperas explícitas (como WebDriverWait) para esperar a que se carguen los elementos. Esto hace que sus scripts sean más confiables y rápidos, ya que responden dinámicamente a las condiciones reales de la página; una práctica recomendada clave para estudiantes de todo el mundo, empezando por Selenium."
👉 Inscríbete gratis en directo Selenium Proyecto de prueba
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 Cuadrícula
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 aqui 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
Ante todo, Selenium fue creado por Jason Huggins en 2004Como ingeniero en 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ó una JavaScript programa que controlaría automáticamente las acciones del navegador. Lo llamó el "JavaScriptTestRunner.”
Al ver el potencial de esta idea para ayudar a automatizar otras aplicaciones web, hizo JavaScriptRunner de código abierto, que posteriormente fue renombrado Selenium Nuestras. 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 JavaEl código del script accede a elementos de un dominio diferente al dominio desde el que se ejecutó. Por ejemplo, el código HTML de www.google.com utiliza un JavaEl programa de script «randomScript.js» solo puede acceder a páginas dentro de google.com, como google.com/mail, google.com/login o google.com/signup, debido a la política del mismo origen. Sin embargo, no puede acceder a páginas de otros sitios, como yahoo.com/search o guru99.com, ya que pertenecen a dominios diferentes.
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 JavaEl programa de script y el servidor web que contiene la aplicación web que se está probando pertenecerían al mismo dominio.
Nacimiento de Selenium Control remoto (Selenium CR)
Desafortunadamente, los evaluadores que utilizan 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 política del mismo origenAsí que otro ingeniero de ThoughtWorks, Pablo Hammant, decidió crear un servidor que actuara como 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 Cuadrícula
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 “Sesión de preguntas y respuestas organizada por el anfitrión.” 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 de Japón creado Selenium IDE Firefox y una extensión de Chrome que permite 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 de creación de casos de prueba. Hizo una donación. Selenium IDE al Selenium Proyecto en 2006.
Nacimiento de WebDriver
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 pruebas multiplataforma que podía controlar el navegador a nivel de 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 potente llamada Selenium 2, en el que WebDriver es el núcleo. Actualmente, Selenium RC aún está en desarrollo, pero solo en modo de mantenimiento. La mayor parte 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 popularmente fabricado por la empresa llamada Mercury Interactivo (Sí, la empresa que originalmente creó QTP antes de ser adquirida por HP). 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.
¿Qué es Selenium IDE?
Selenium El entorno de desarrollo integrado (IDE) es el marco más simple en el 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.
¿Qué es 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:
¿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í
¿Qué es 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 sus necesidades
| ¿Por qué elegir? | |
|---|---|
| Selenium IDE |
|
| Selenium RC |
|
| Controlador web |
|
| Selenium Cuadrícula |
|
Estudios de casos del mundo real
🔍 Caso práctico 1: Compatibilidad entre navegadores para el panel de control de SaaS
Guión
Una empresa de software como servicio se estaba preparando para lanzar un panel de análisis que debía funcionar de manera consistente en todos los navegadores modernos (Chrome, Firefox, Edge, Safari).
Desafío
Las pruebas manuales en cada navegador consumían mucho tiempo, eran propensas a errores y no podían seguir el ritmo de las rápidas iteraciones de desarrollo.
Solución con Selenium
Un ingeniero de control de calidad creó un Selenium Cuadrícula Configuración para ejecutar el mismo conjunto de pruebas simultáneamente en múltiples navegadores y combinaciones de sistemas operativos. Las pruebas se crearon en Python usando Selenium WebDriver para acciones como inicio de sesión, filtrado de gráficos y exportación de datos.
Resultado
- Se redujo la duración de la regresión en un 80%.
- Se descubrieron errores de representación específicos del navegador de forma temprana (por ejemplo, gráficos desalineados en IE).
- Se mantuvo una experiencia de usuario consistente en el panel de control en toda la matriz de navegadores sin ciclos manuales adicionales.
⚙️ Caso práctico 2: Integración de CI/CD para aplicación web a través de Selenium + TestNG
Guión
Una empresa mediana de desarrollo web utiliza una canalización de CI/CD con Jenkins. Necesitaban garantizar que las experiencias de usuario principales funcionaran tras cada cambio de código.
Desafío
En ocasiones, las nuevas implementaciones interrumpían los flujos de usuarios (inicio de sesión, envío de formulario) y escapaban a la detección hasta las pruebas manuales del final del día.
Solución con Selenium
Un probador implementó un Java-Basado Selenium Suite WebDriver integrada con TestNGLas pruebas abarcaron la autenticación, la actualización de perfiles y las funciones de búsqueda. Se ejecutaron en todas las compilaciones de Jenkins, aprovechando la ejecución paralela y la parametrización del navegador.
Resultado
- Se logró una respuesta rápida ante fallos: los flujos interrumpidos se marcaron inmediatamente.
- Se redujeron los errores posteriores a la implementación en más del 60 %.
- Permitió a los desarrolladores abordar los problemas antes de que llegaran al control de calidad.
Caso práctico 3: Aceleración del lanzamiento de funciones para el agregador de viajes
Guión
Una plataforma de agregación de viajes necesitaba lanzar una función de reserva de vuelos renovada. Las pruebas de regresión manuales en más de 10 páginas tardaron días y bloquearon el lanzamiento.
Desafío
La presión para reducir el tiempo de comercialización no pudo superar los ciclos de pruebas manuales, con el consiguiente riesgo de demoras o menor calidad.
Solución con Selenium & Modelo de objetos de página
Un responsable de automatización de control de calidad presentó una estructura de modelo de objetos de página (POM) en C#. Selenium Los scripts de WebDriver encapsulaban elementos y acciones de la página (búsquedas, aplicación de filtros y casos de pago). Las pruebas automatizadas se ejecutaban cada noche en GitLab CI.
Resultado
- El tiempo de prueba se redujo de 3 días a sólo 4 horas.
- La reutilización de scripts en múltiples funciones reduce el esfuerzo de creación de scripts en un 50 %.
- Mayor confianza: el lanzamiento se realizó según lo previsto y con informes de errores mínimos.
Sus Preguntas Selenium Desafíos (y soluciones)
Aunque Selenium Si bien es una herramienta potente, los evaluadores a menudo se enfrentan a desafíos que pueden afectar la fiabilidad y la velocidad. A continuación, se presentan algunos de los más comunes y cómo solucionarlos:
- Pruebas poco fiables:
Las pruebas pueden fallar aleatoriamente debido a problemas de sincronización o de red.
Solución: Utilice esperas explícitas y localizadores estables; eviteThread.sleep(). - Elementos web dinámicos:
Modificar los ID de los elementos o las rutas XPath provoca errores de elemento no encontrado.
Solución: Utilice XPath relativos, selectores CSS o manejo dinámico de atributos. - SyncProblemas de cronización:
Los elementos se cargan más lentamente que la ejecución del script.
Solución: Implemente WebDriverWait con las condiciones esperadas. - Inconsistencias entre navegadores:
Las pruebas se comportan de forma diferente en Chrome. Firefox, o Edge.
Solución: Ejecutar pruebas en Selenium Plataformas de computación distribuida o en la nube para la validación entre navegadores. - Manejo de ventanas emergentes y alertas:
Las ventanas emergentes inesperadas pueden interrumpir el flujo de la prueba.
Solución: Usa SeleniumUtilice la interfaz de alertas o bloques try-catch para manejarlas correctamente. - Gastos generales de mantenimiento de las pruebas:
Los cambios frecuentes en la interfaz de usuario hacen que las pruebas sean frágiles.
Solución: Adopte el modelo de objetos de página (POM) y el control de versiones para facilitar las actualizaciones. - Desafíos de integración:
Las canalizaciones CI/CD pueden fallar debido a problemas con los controladores.
Solución: Usa Selenium Gerente (Selenium 4+) o WebDriver Manager para administrar automáticamente los controladores.
En breve: La mayoría de las Selenium Los problemas se originan en una sincronización deficiente o en localizadores frágiles; ambos problemas pueden solucionarse mediante esperas más inteligentes, un diseño modular y un mantenimiento continuo.




.png)
.jpg)
.jpg)
.jpg)



