Entorno de ejecución exclusivo para Rust.
Se ejecuta dentro de un único proceso de Rust. No requiere navegadores externos, WebDriver ni dependencias de Node.js.
Código abierto / Contenedor.
"browser-tester" es un entorno de pruebas que simula el comportamiento de un navegador y que está implementado completamente en Rust. Valida el comportamiento del DOM y los eventos sin necesidad de ejecutar un navegador real.
"browser-tester" se centra en pruebas del comportamiento predecible de formularios e interfaces de usuario, en lugar de en la compatibilidad completa con la renderización del navegador.
Se ejecuta dentro de un único proceso de Rust. No requiere navegadores externos, WebDriver ni dependencias de Node.js.
Diseñado para pruebas repetibles: incluye un reloj simulado, una semilla aleatoria determinista y APIs de control de temporizador explícitas.
Admite flujos de trabajo similares a los de un navegador, incluyendo: selectores, ejecución de scripts en línea, propagación de eventos y actualizaciones del DOM.
Ciclo de retroalimentación rápido para pruebas de interfaces de usuario centradas en formularios, manteniendo la información de errores enfocada en los selectores y los valores esperados/reales.
Cree un entorno de pruebas a partir de HTML, ejecute interacciones y verifique los resultados del DOM. Comience con una configuración básica y amplíela con temporizadores y APIs simuladas.
Instalar.
cargo añadir browser_tester
Ejemplo básico.
Operaciones básicas de pruebas DOM: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit`, y funciones de ayuda para verificar texto, valores, estados de selección y existencia.
Controle el comportamiento asíncrono utilizando un reloj simulado. Avance el tiempo de forma determinista utilizando las funciones `advance_time`, `advance_time_to`, `flush` y las API para la inspección de temporizadores.
Para mantener las pruebas aisladas, utilice las funciones `set_fetch_mock`, `enqueue_confirm_response` y `enqueue_prompt_response` para simular las respuestas de las solicitudes y los resultados de los diálogos.
Habilite los registros de seguimiento y extraiga la secuencia de eventos/temporizadores cuando una prueba falle. Esto es útil para depurar el orden de los eventos y el comportamiento de las acciones predeterminadas.
Si necesita APIs adicionales para el navegador en su conjunto de pruebas, abra un problema e incluya un ejemplo mínimo para discutir el alcance y la prioridad.