Околина само со Rust
Работи во еден Rust процес. Нема зависност од надворешен прелистувач, WebDriver или Node.js.
Отворен код / пакет
browser-tester е детерминистичка тест околина слична на прелистувач, имплементирана целосно во Rust. Го проверува DOM и однесувањето на настаните без стартување вистински прелистувач.
browser-tester се фокусира на предвидливо тестирање на однесувањето на формуларите и UI, а не на целосна компатибилност со прикажување како вистински прелистувач.
Работи во еден Rust процес. Нема зависност од надворешен прелистувач, WebDriver или Node.js.
Од почеток е создаден за повторливи тестови: лажен часовник, детерминистичко почетно семе и експлицитни API-ја за контрола на тајмери.
Поддржува практични сценарија слични на прелистувач: избирачи, извршување вградени скрипти, ширење на настани и DOM ажурирања.
Брз циклус на повратни информации за UI тестови фокусирани на формулари, со пораки за грешки насочени кон избирачи и очекувани/вистински вредности.
Создајте Harness од HTML, извршете интеракции и проверете ги DOM резултатите. Почнете со мал примерок, па проширете со API-ја за тајмери и симулации.
Инсталирај
cargo add browser_tester
Основен пример
use browser_tester::Harness;
fn main() -> browser_tester::Result<()> {
let html = r#"..."#;
let mut h = Harness::from_html(html)?;
h.type_text("#name", "Alice")?;
h.click("#submit")?;
h.assert_text("#result", "Hello, Alice")?;
Ok(())
}
Основни операции за DOM тестови: Harness::from_html, type_text, set_checked, click, submit и помошни проверки за text/value/checked/existence.
Контролирајте асинхроно однесување со лажен часовник. Времето се поместува детерминистички со advance_time, advance_time_to, flush и API-ја за проверка на тајмери.
Вметнете fetch одговори и исходи од дијалози со set_fetch_mock, enqueue_confirm_response и enqueue_prompt_response за тестовите да останат изолирани.
Вклучете дневници за следење и извлечете го текот на настаните и тајмерите кога тестот не успева. Корисно е за дебагирање на редоследот на настаните и стандардното однесување.
Ако ви требаат дополнителни API-ја на прелистувач за вашиот тест пакет, отворете пријава со минимален примерок за да разговараме за опсегот и приоритетот.