Repolode
stevepryde

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. 1

    Adicione thirtyfour como dependência ao seu projeto Rust (cargo add thirtyfour).

  2. 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