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.
stevepryde/thirtyfour
Biblioteca cliente de Selenium WebDriver para Rust, usada para escrever testes automatizados de interface em sites.
- Estrelas
- 1,443
- Forks
- 102
- Issues abertas
- 1
- Último commit
- há 17 dias
O que é?
thirtyfour é um cliente Rust para o protocolo Selenium / W3C WebDriver, voltado a testes end-to-end automatizados de aplicações web. Ele pode iniciar sessões de navegador diretamente por meio de um driver, como o chromedriver, ou usando o Selenium Standalone ou Grid.
A biblioteca cobre os recursos mais comuns do WebDriver: encontrar elementos por seletores como test ID, id, class, CSS, tag e XPath; enviar teclas e combinações de teclas; executar JavaScript; usar cadeias de ações, cookies, alternância entre frames, janelas e alertas, shadow DOM e capturas de tela em PNG. Uma interface de consulta oferece esperas explícitas e predicados, e wrappers de componentes ajudam a estruturar testes no estilo page object. Um executor de testes de navegador tenta fazer a limpeza assíncrona em caso de erros e panics.
As feature flags opcionais adicionam comandos tipados do Chrome DevTools Protocol, assinatura de eventos CDP via WebSocket e suporte multiplataforma ao WebDriver BiDi. O crate é licenciado duplamente sob MIT ou Apache 2.0 e requer Rust 1.88 ou posterior.
Recursos principais
- 01Compatível com todos os métodos de W3C WebDriver e WebElement.
- 02Localiza elementos usando seletores de test ID, id, class, CSS, tag e XPath.
- 03Oferece uma interface de consulta com esperas explícitas e wrappers de componentes para page objects.
- 04Disponibiliza comandos tipados do Chrome DevTools Protocol e assinatura opcional de eventos CDP.
- 05Oferece suporte multiplataforma ao WebDriver BiDi por meio de uma feature flag opcional.
- 06Captura screenshots em PNG do navegador inteiro ou de elementos individuais.
Casos de uso
- Testes end-to-end de interface para aplicações web escritas em Rust.
- Migração de scripts de automação Selenium existentes para uma base de código Rust.
- Automação de fluxos de trabalho no navegador que exigem acesso tipado aos recursos do Chrome DevTools.
Início rápido
- 1
Adicione thirtyfour como dependência ao seu projeto Rust (cargo add thirtyfour).
- 2
Inicie um servidor WebDriver, como o chromedriver, e execute o exemplo async.
cargo run --example tokio_async
Antes de usar
- Para executar os testes, é necessário ter um servidor WebDriver em execução ou um driver de navegador, como o chromedriver.
- Nos metadados, a licença está listada como NOASSERTION, embora o README indique licenciamento duplo MIT ou Apache 2.0.
Em coleções
Tópicos
Perguntas frequentes
- O que é thirtyfour?
- Biblioteca cliente de Selenium WebDriver para Rust, usada para escrever testes automatizados de interface em sites. thirtyfour é um cliente Rust para o protocolo Selenium / W3C WebDriver, voltado a testes end-to-end automatizados de aplicações web. Ele pode iniciar sessões de navegador diretamente por meio de um driver, como o chromedriver, ou usando o Selenium Standalone ou Grid.
- thirtyfour é gratuito? Qual é a licença?
- thirtyfour é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
- thirtyfour ainda é mantido?
- Manutenção ativa. O último commit de thirtyfour foi em 21 de out. de 2026.
- Para que posso usar thirtyfour?
- Testes end-to-end de interface para aplicações web escritas em Rust. Migração de scripts de automação Selenium existentes para uma base de código Rust. Automação de fluxos de trabalho no navegador que exigem acesso tipado aos recursos do Chrome DevTools.
- Como instalar thirtyfour?
- Adicione thirtyfour como dependência ao seu projeto Rust (cargo add thirtyfour). Inicie um servidor WebDriver, como o chromedriver, e execute o exemplo async.: cargo run --example tokio_async
- Onde consigo thirtyfour?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/stevepryde/thirtyfour
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Biblioteca Python que baixa, armazena em cache e localiza binários de drivers de navegador para Selenium, como ChromeDriver e GeckoDriver.
Biblioteca Go que controla o Chrome pelo Chrome DevTools Protocol para automação web e scraping, com espera automática e download do navegador.
Playwright é um framework para testes e automação web que controla Chromium, Firefox e WebKit por meio de uma única API.
Framework JavaScript de testes end-to-end que permite escrever testes para navegador e dispositivos móveis em etapas legíveis, do ponto de vista do usuário, em diferentes engines.
Conjunto de pacotes npm que integram o mecanismo de acessibilidade axe a ferramentas de CLI, frameworks de automação de navegador, React e suítes de testes WebDriver.