Framework de automatización de pruebas para Node.js que permite hacer pruebas end-to-end, unitarias y de componentes en navegadores y apps móviles mediante WebDriver, BiDi y Appium.
SeleniumHQ/selenium
Selenium es un proyecto paraguas de herramientas y bibliotecas para automatizar navegadores web mediante el estándar W3C WebDriver.
- Estrellas
- 34,563
- Forks
- 8,730
- Issues abiertos
- 196
- Último commit
- hace 18 horas
¿Qué es?
Selenium proporciona la infraestructura para la especificación W3C WebDriver, una interfaz independiente de la plataforma y del lenguaje para controlar navegadores web. Se usa para crear scripts que controlan navegadores con el fin de probar aplicaciones web o automatizar tareas repetitivas en el navegador.
El proyecto incluye bindings para varios lenguajes, como Java, Python, C#, JavaScript, Ruby y Rust, y funciona con todos los navegadores principales. Los controladores de navegador y Selenium Manager se encargan de localizar y configurar los navegadores y sus controladores.
Este repositorio está dirigido principalmente a quienes contribuyen al proyecto. Está construido con Bazel e incluye instrucciones para configurar el entorno de desarrollo local, ejecutar pruebas por tamaño y etiqueta, y seguir el proceso de publicación.
Funciones clave
- 01Implementa la especificación W3C WebDriver para controlar distintos navegadores.
- 02Ofrece bindings para Java, Python, C#, JavaScript, Ruby y Rust.
- 03Incluye Selenium Manager para localizar navegadores y controladores.
- 04Admite el modo headless en Chrome, Edge y Firefox.
- 05Se compila con Bazel y permite filtrar pruebas por tamaño y etiqueta.
Casos de uso
- Escribir pruebas de extremo a extremo para aplicaciones web en varios navegadores.
- Automatizar tareas repetitivas en el navegador, como rellenar formularios o recopilar datos.
- Crear una infraestructura de pruebas de navegador con Selenium Grid.
Inicio rápido
- 1
Instala Bazelisk, el wrapper de Bazel
- 2
Instala Java JDK 17 o posterior y configura JAVA_HOME
- 3
Compila Selenium Grid
bazel build grid
Antes de usarlo
- El README está dirigido a colaboradores; se remite a los usuarios finales al User Manual independiente.
- La compilación requiere Bazel, JDK 17 o posterior y toolchains específicos de cada plataforma, por lo que la configuración es compleja.
- La configuración en Windows es laboriosa y requiere MSYS2 y las herramientas de compilación de Visual Studio.
- Es posible que los Mac con Apple Silicon necesiten un cambio en la configuración de Rosetta.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es selenium?
- Selenium es un proyecto paraguas de herramientas y bibliotecas para automatizar navegadores web mediante el estándar W3C WebDriver. Selenium proporciona la infraestructura para la especificación W3C WebDriver, una interfaz independiente de la plataforma y del lenguaje para controlar navegadores web. Se usa para crear scripts que controlan navegadores con el fin de probar aplicaciones web o automatizar tareas repetitivas en el navegador.
- ¿selenium es gratuito? ¿Qué licencia tiene?
- selenium es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿selenium sigue mantenido?
- Mantenimiento activo. El último commit de selenium fue el 24 oct 2026.
- ¿Para qué puedo usar selenium?
- Escribir pruebas de extremo a extremo para aplicaciones web en varios navegadores. Automatizar tareas repetitivas en el navegador, como rellenar formularios o recopilar datos. Crear una infraestructura de pruebas de navegador con Selenium Grid.
- ¿Cómo se instala selenium?
- Instala Bazelisk, el wrapper de Bazel Instala Java JDK 17 o posterior y configura JAVA_HOME Compila Selenium Grid: bazel build grid
- ¿Dónde consigo selenium?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/SeleniumHQ/selenium
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Biblioteca de Python para automatizar navegadores Chromium, Firefox y WebKit con una sola API, con variantes síncrona y asíncrona.
Playwright es un framework de testing y automatización web que controla Chromium, Firefox y WebKit mediante una sola API.
Midscene.js es un framework de pruebas E2E basado en visión que permite escribir pasos y aserciones de pruebas de UI en lenguaje natural para aplicaciones web, móviles y de escritorio.
Framework de pruebas end-to-end para aplicaciones web y móviles que permite describir objetivos en lenguaje natural y usar un agente para interactuar con la aplicación.
Una biblioteca de Python para automatizar navegadores con Selenium que permite localizar elementos por sus etiquetas visibles en lugar de usar selectores.