Sobre o projeto

Selenium é um projeto guarda-chuva que encapsula uma variedade de ferramentas e bibliotecas que permitem a automação de navegadores web. Ele fornece uma infraestrutura para a especificação W3C WebDriver, uma interface de codificação neutra de plataforma e linguagem, compatível com todos os principais navegadores web. O projeto é possível graças a contribuidores voluntários. Este README é principalmente para desenvolvedores interessados em contribuir. Para usuários, o Manual do Usuário e os canais de suporte são referenciados. As seções principais incluem: - **Contribuindo**: Leia CONTRIBUTING.md antes de enviar pull requests. - **Instalando**: Requisitos para o ambiente de desenvolvimento local, incluindo Bazelisk, Java JDK 17+ e configuração específica de plataforma para macOS e Windows. Alternativas incluem GitPod, Dev Containers e imagens Docker. Orientação sobre worktrees para cache do Bazel. - **Construindo**: Usa Bazel com wrapper Rake personalizado (`./go`). Comandos comuns: `bazel build`, `bazel run`, `bazel test`, `bazel query`. Alvos de construção definidos em arquivos BUILD.bazel. Construções específicas de linguagem via `./go <linguagem>:build`. - **Desenvolvendo**: Detalhes para Java (IntelliJ com plugin Bazel, Google Java Format), Python (linting com ruff, instalação local), Ruby (depuração, RubyMine), Rust (dependências do Cargo). - **Testando**: Configurações do Bazel para testes, incluindo fixação de navegador, modo headless, tentativas de testes flaky, paralelismo, filtragem por tamanho e tags. Instruções para servidor X virtual no Linux. - **Documentando**: Documentação da API para C#, JavaScript, Java, Python, Ruby. Atualize via `./go <linguagem>:docs`. - **Lançando**: Processo na wiki, usando `./go all:release` ou lançamentos específicos de linguagem.