„Rust“ kalbos vykdymo aplinka, kurioje veikia tik „Rust“ kodas.
Veikia viduje vieno „Rust“ proceso. Nereikalauja jokio išorinio naršyklės, „WebDriver“ ar „Node.js“ komponento.
Atvirasis kodas / Dėžė.
„browser-tester“ yra deterministinė, naršyklei panaši testavimo aplinka, sukurta gryna Rust kalba. Ji patikrina DOM (dokumentų objekto modelio) ir įvykių elgseną, nenaudojant tikrojo naršyklės.
„Browser-tester“ yra skirtas testuoti tikslų formų ir vartotojo sąsajos elgsenos aspektus, o ne visą naršyklės atvaizdavimo suderinamumą.
Veikia viduje vieno „Rust“ proceso. Nereikalauja jokio išorinio naršyklės, „WebDriver“ ar „Node.js“ komponento.
Sukurta taip, kad būtų lengva atlikti pakartotinus testus: naudojamos fiktyvos (simuliacijos), nustatomas tikslus atsitiktinumo šaltinis ir teikiami aiškūs laiko valdymo įrankiai.
Palaiko praktinius naršyklės veikimo principus: pasirinkimo mechanizmus, inline skriptų vykdymą, įvykių skleidimą ir DOM (dokumentų objekto modelio) atnaujinimus.
Greitas atsiliepimų ciklas formų pagrindu paremtų vartotojo sąsajos testų atlikimui, kartu užtikrinant, kad klaidos būtų aiškiai susietos su pasirinktais elementais ir tikimomis/faktinėmis reikšmėmis.
Sukurkite testavimo aplinką naudodami HTML, vykdykite veiksmus ir patikrinkite DOM struktūrą. Pradėkite nuo mažo testavimo scenarijaus ir papildykite jį naudojant laikmačius arba simuliuojamas API.
Įdiegti.
Pridėti paketą "browser_tester" į "cargo" projektą.
Paprastas pavyzdys.
Pagrindinės DOM testavimo funkcijos: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit` ir pagalbinės funkcijos tekstui, vertei, pažymėjimui ir egzistavimui patikrinimui.
Asinkroninius procesus galima valdyti naudojant simuliuojamą laikrodį. Laiką galima tiksliai keisti naudojant funkcijas `advance_time`, `advance_time_to`, `flush` ir API, skirtas laikrodžio būsenos patikrinimui.
Naudokite funkcijas `set_fetch_mock`, `enqueue_confirm_response` ir `enqueue_prompt_response`, kad įterptumėte duomenis, gautus iš tinklo, ir dialogo rezultatus, taip užtikrindami, jog testai būtų atskirti ir nepriklausomi.
Aktyvinkite žinučių registravimą ir ištraukite informaciją apie įvykių seką bei laikmačius, kai testas nepavyksta. Tai naudinga, kai reikia išspręsti problemas, susijusias su įvykių tvarka ir numatytųjų veiksmų elgsena.
Jei jūsų testavimo rinkiniui reikia papildomų naršyklės API, atidarykite užklausą ir pateikite minimalų testavimo scenarijų, kad aptartumėte apimtį ir prioritetus.