Runtime-omgeving die alleen Rust-code ondersteunt.
Werkt binnen een enkel Rust-proces. Geen externe browser, WebDriver of Node.js-afhankelijkheden nodig.
Open source / Container.
"browser-tester" is een deterministische testomgeving die de werking van een webbrowser simuleert en is volledig geïmplementeerd in Rust. Het valideert het gedrag van de DOM (Document Object Model) en gebeurtenissen zonder een echte webbrowser te starten.
De browser-tester richt zich op het testen van voorspelbaar gedrag van formulieren en gebruikersinterfaces, in plaats van op de volledige compatibiliteit met verschillende browsers.
Werkt binnen een enkel Rust-proces. Geen externe browser, WebDriver of Node.js-afhankelijkheden nodig.
Ontworpen voor reproduceerbare tests: met functies zoals een gesimuleerde klok, een deterministische willekeurige startwaarde en expliciete API's voor timerbesturing.
Ondersteunt praktische workflows die lijken op die van een webbrowser: selectoren, inline scriptuitvoering, eventpropagatie en DOM-updates.
Een snelle feedbackcyclus voor UI-tests die zich richten op formulieren, waarbij de foutmeldingen gericht zijn op de selectoren en de verwachte/werkelijke waarden.
Maak een testomgeving met behulp van HTML, voer interacties uit en controleer de resultaten in de Document Object Model (DOM). Begin met een eenvoudige testopstelling en breid deze uit met timers en gesimuleerde API's.
Installeren.
cargo: voeg browser_tester toe.
Eenvoudig voorbeeld.
Kernfunctionaliteiten voor DOM-tests: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit`, en hulpmiddelen voor het verifiëren van tekst, waarden, selectievakjes en het bestaan van elementen.
Controleer asynchroon gedrag met een gesimuleerde klok. Versnel de tijd op een voorspelbare manier met behulp van de functies `advance_time`, `advance_time_to`, `flush` en de API voor het inspecteren van timers.
Gebruik `set_fetch_mock`, `enqueue_confirm_response` en `enqueue_prompt_response` om antwoorden van API-aanvragen en resultaten van dialogen te simuleren, zodat uw tests geïsoleerd blijven.
Schakel traceerlogbestanden in en extraheer de volgorde van gebeurtenissen en timers wanneer een test mislukt. Dit is nuttig voor het opsporen van problemen met de volgorde van gebeurtenissen en het standaardgedrag van acties.
Als u aanvullende browser-API's nodig heeft voor uw testomgeving, kunt u een melding indienen met een minimale testopstelling om de reikwijdte en prioriteit te bespreken.