Environnement d'exécution basé uniquement sur Rust.
Fonctionne entièrement au sein d'un seul processus Rust. Aucune dépendance externe à un navigateur, à WebDriver ou à Node.js.
Source ouverte / Boîte.
`browser-tester` est un environnement de test qui simule le fonctionnement d'un navigateur, implémenté en Rust pur. Il permet de valider le comportement du DOM et des événements sans nécessiter le lancement d'un navigateur réel.
Le logiciel "browser-tester" se concentre sur les tests du comportement prévisible des formulaires et de l'interface utilisateur, plutôt que sur la compatibilité complète du rendu dans les différents navigateurs.
Fonctionne entièrement au sein d'un seul processus Rust. Aucune dépendance externe à un navigateur, à WebDriver ou à Node.js.
Conçu pour des tests reproductibles : horloge simulée, générateur de nombres aléatoires déterministe et API de contrôle de temporisation explicites.
Prend en charge les fonctionnalités pratiques similaires à celles d'un navigateur : sélection d'éléments, exécution de scripts intégrés, propagation des événements et mises à jour du DOM.
Cycle de retour d'information rapide pour les tests d'interface utilisateur axés sur les formulaires, tout en veillant à ce que les messages d'erreur mettent en évidence les sélecteurs et les valeurs attendues/réelles.
Créez un environnement de test à partir de code HTML, simulez des interactions et vérifiez les résultats du DOM. Commencez avec un environnement de test simple et étendez-le en utilisant des temporisateurs et des API simulées.
Installer.
cargo ajouter browser_tester.
Exemple de base.
Opérations de test DOM de base : `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit`, et fonctions utilitaires pour les vérifications de texte, de valeur, de cases à cocher et de présence.
Contrôlez le comportement asynchrone à l'aide d'une fausse horloge. Faites progresser le temps de manière déterministe en utilisant les fonctions `advance_time`, `advance_time_to`, `flush` et les API d'inspection des minuteurs.
Pour isoler les tests, utilisez les fonctions `set_fetch_mock`, `enqueue_confirm_response` et `enqueue_prompt_response` pour simuler les réponses de l'API et les résultats des dialogues.
Activez les journaux de traçage et extrayez les informations relatives au déroulement des événements et des temporisateurs lorsqu'un test échoue. Cela est utile pour déboguer l'ordre des événements et le comportement des actions par défaut.
Si vous avez besoin d'API de navigateur supplémentaires pour votre suite de tests, veuillez ouvrir une demande (issue) en fournissant un exemple minimal pour discuter de la portée et de la priorité.