Framework de automação de testes para Node.js, com testes end-to-end, unitários e de componentes em navegadores e apps móveis via WebDriver, BiDi e Appium.
SeleniumHQ/selenium
Selenium é um projeto guarda-chuva de ferramentas e bibliotecas para automatizar navegadores web por meio do padrão W3C WebDriver.
- Estrelas
- 34,563
- Forks
- 8,730
- Issues abertas
- 196
- Último commit
- há 18 horas
O que é?
Selenium fornece a infraestrutura para a especificação W3C WebDriver, uma interface independente de plataforma e linguagem para controlar navegadores web. É usado para criar scripts que controlam navegadores em testes de aplicações web ou na automação de tarefas repetitivas no navegador.
O projeto oferece bindings para várias linguagens, incluindo Java, Python, C#, JavaScript, Ruby e Rust, e funciona com todos os principais navegadores web. Os drivers de navegador e o Selenium Manager cuidam de localizar e configurar os navegadores e seus drivers.
Este repositório é voltado principalmente a contribuidores. Ele usa Bazel para o build e inclui orientações para configurar o ambiente de desenvolvimento local, executar testes por tamanho e tag e seguir o processo de release.
Recursos principais
- 01Implementa a especificação W3C WebDriver para controlar diferentes navegadores.
- 02Oferece bindings para Java, Python, C#, JavaScript, Ruby e Rust.
- 03Inclui o Selenium Manager para localizar navegadores e drivers.
- 04Oferece suporte ao modo headless no Chrome, Edge e Firefox.
- 05Usa Bazel para o build e permite filtrar testes por tamanho e tag.
Casos de uso
- Escrever testes end-to-end para aplicações web em vários navegadores.
- Automatizar tarefas repetitivas no navegador, como preencher formulários ou coletar dados.
- Criar uma infraestrutura de testes de navegador com Selenium Grid.
Início rápido
- 1
Instale o Bazelisk, o wrapper do Bazel
- 2
Instale o Java JDK 17 ou superior e configure JAVA_HOME
- 3
Compile o Selenium Grid
bazel build grid
Antes de usar
- O README é voltado a colaboradores; os usuários finais são direcionados ao User Manual separado.
- A compilação exige Bazel, JDK 17 ou superior e toolchains específicos da plataforma, o que torna a configuração trabalhosa.
- A configuração no Windows é complexa e exige MSYS2 e as ferramentas de compilação do Visual Studio.
- Macs com Apple Silicon talvez precisem de uma alteração na configuração do Rosetta.
Em coleções
Tópicos
Perguntas frequentes
- O que é selenium?
- Selenium é um projeto guarda-chuva de ferramentas e bibliotecas para automatizar navegadores web por meio do padrão W3C WebDriver. Selenium fornece a infraestrutura para a especificação W3C WebDriver, uma interface independente de plataforma e linguagem para controlar navegadores web. É usado para criar scripts que controlam navegadores em testes de aplicações web ou na automação de tarefas repetitivas no navegador.
- selenium é gratuito? Qual é a licença?
- selenium é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- selenium ainda é mantido?
- Manutenção ativa. O último commit de selenium foi em 24 de out. de 2026.
- Para que posso usar selenium?
- Escrever testes end-to-end para aplicações web em vários navegadores. Automatizar tarefas repetitivas no navegador, como preencher formulários ou coletar dados. Criar uma infraestrutura de testes de navegador com Selenium Grid.
- Como instalar selenium?
- Instale o Bazelisk, o wrapper do Bazel Instale o Java JDK 17 ou superior e configure JAVA_HOME Compile o Selenium Grid: bazel build grid
- Onde consigo selenium?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/SeleniumHQ/selenium
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Biblioteca Python para automatizar navegadores Chromium, Firefox e WebKit por meio de uma única API, com variantes síncrona e assíncrona.
Playwright é um framework para testes e automação web que controla Chromium, Firefox e WebKit por meio de uma única API.
Midscene.js é um framework de testes E2E baseado em visão que permite escrever etapas e verificações de UI em linguagem natural para apps web, mobile e desktop.
Framework de testes end-to-end para apps web e mobile que permite descrever objetivos em linguagem natural e controlar o app com um agente.
Biblioteca Python para automação de navegadores baseada em Selenium, que permite encontrar elementos por rótulos visíveis em vez de seletores.