Środowisko uruchomieniowe działające wyłącznie w języku Rust.
Działa wewnątrz pojedynczego procesu Rust. Nie wymaga zewnętrznych przeglądarek, sterowników WebDriver ani środowiska Node.js.
Oprogramowanie open source / Biblioteka.
"browser-tester" to deterministyczne środowisko testowe, naśladujące działanie przeglądarki, zaimplementowane w czystym języku Rust. Służy do weryfikacji działania DOM i obsługi zdarzeń, bez konieczności uruchamiania prawdziwej przeglądarki.
Narzędzie "browser-tester" koncentruje się na testach przewidywalnego działania formularzy i interfejsu użytkownika, a nie na pełnej kompatybilności z różnymi przeglądarkami.
Działa wewnątrz pojedynczego procesu Rust. Nie wymaga zewnętrznych przeglądarek, sterowników WebDriver ani środowiska Node.js.
Zaprojektowany z myślą o powtarzalnych testach: zawiera wirtualny zegar, deterministyczny generator liczb losowych oraz interfejsy API do precyzyjnej kontroli czasu.
Obsługuje typowe funkcje przypominające działanie przeglądarki: selektory, wykonywanie skryptów w linii, propagację zdarzeń oraz aktualizacje DOM.
Szybki cykl testowania interfejsu użytkownika, skoncentrowany na formularzach, przy jednoczesnym utrzymaniu czytelnych komunikatów o błędach, które skupiają się na selektorach oraz wartościach oczekiwanych i rzeczywistych.
Utwórz środowisko testowe za pomocą HTML, zdefiniuj interakcje i weryfikuj wyniki manipulacji DOM. Zacznij od prostego zestawu testów i stopniowo rozszerzaj go, dodając funkcje takie jak timery i symulacje API.
Zainstaluj.
cargo: dodaj komponent "browser_tester".
Podstawowy przykład.
Podstawowe operacje testowe DOM: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit`, oraz funkcje pomocnicze do weryfikacji zawartości tekstowej, wartości, stanu "zaznaczonego" oraz obecności elementów.
Kontroluj asynchroniczne zachowanie za pomocą wirtualnego zegara. Ustawiaj czas w sposób deterministyczny, korzystając z funkcji `advance_time`, `advance_time_to`, `flush` oraz interfejsów do inspekcji timerów.
Aby zapewnić izolację testów, można użyć funkcji `set_fetch_mock`, `enqueue_confirm_response` i `enqueue_prompt_response` do symulowania odpowiedzi serwera i wyników dialogów.
Włącz logi śledzenia i wyodrębnij informacje o kolejności zdarzeń i działania timerów, gdy test się nie powiedzie. Przydatne do debugowania kolejności zdarzeń i domyślnego zachowania akcji.
Jeśli potrzebujesz dodatkowych interfejsów API dla przeglądarki do przeprowadzenia testów, otwórz zgłoszenie (issue) zawierające minimalny przykład konfiguracji, aby omówić zakres i priorytety.