Burim i hapur / Kuti.

testues i shfletës së internetit.

"browser-tester" është një mjedis testimi që simon një shfletues web dhe është implementuar plotësisht në Rust. Ai verifikon funksionimin e DOM-it dhe të ngjarjeve pa nevojën për të lançuar një shfletues web real.

Korrozion. Kohë ekzekutimi e paracaktuar. Testimi i DOM-it.

Çfarë mundësish ofron ky paketim.

"Browser-tester" përqendrohet në testimin e sjelljes parashikueshme të formulareve/interfaqeve përdoruesit, në vend që në kompatibilitetin tërësor me shfletuesit.

Mjedis ekzekutimi vetëm për Rust.

Funksionon brenda një procesi të vetëm të Rust. Nuk kërkon asnjë shfletues ekstern, WebDriver ose dependencë Node.js.

Ekzekutim deterministik.

Krijuar për testimet e përsëritshme, me një dizajn specifik: orë simuluese, një bazë e paracaktuar për numrat rastësorë dhe API-ja e kontrollit të kohës së shprehur.

Testimi i DOM dhe i ngjarjeve.

Përkrah funksionalitetet praktike, ngjashme me një shfletues: selektorë, ekzekutim i skriptave të integruara, përhapje e ngjarjeve dhe përditësime të DOM-it.

Reagime të shpejta nga vendi.

Cikël i shpejt i përgjigjes për testimet e interfaqeve grafike të orientuara tek formularët, duke mbajtur rezultatet e gabimeve të fokusuar tek elementët specifikë dhe vlerat pritur/të vërtetuara.

Fillimi i shpejt.

Kriju një strukturë testimi duke përdorur HTML, ekzekuto interaksione dhe verifiko rezultatet e DOM-it. Filloj me një strukturë testimi të vogël dhe zgjeroje me funksione të kohës dhe API-të simuluese.

Instaloni.

cargo add browser_tester

Shembull themelor.

Interfaqja kryesore e API-së.

Veprime dhe pohime të lidhura me "Harness".

Operacionet kryesore të testimit DOM: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit`, dhe ndihmësit për verifikimin e tekstit/vlerës/statusit të zgjedhur/ekzistencës.

Timerë deterministikë.

Kontrolloni sjelljen asinkrone me një orë simuluese. Avancojeni kohën në mënyrë të paracaktuar duke përdorur funksionet `advance_time`, `advance_time_to`, `flush` dhe API-të për inspekrimin e kohës.

Simulacione të integruara.

Për të izoluar testet, përdorni funksionet `set_fetch_mock`, `enqueue_confirm_response` dhe `enqueue_prompt_response` për të simuluar përgjigjet e kërimeve dhe rezultatet e dialogut.

Traçimi dhe diagnostika.

Aktivizoni regjistrimet e detajuara dhe nxirrni informacionin e rrjedhës së ngjarjeve/kohëmatësve kur një test dështon. Kjo është e dobishme për depozitimin e radhës së ngjarjeve dhe të sjelljes së veprimeve të parazgjedhura.

Politika e ekzekutimit.

  • Funksioni "eval" nuk është mbështetur qëllimisht, për të ruajtur sigurinë dhe parashikueshmërinë.
  • Ky mjedis ekzekutimi është krijuar për të simuluar skenarë testimi praktike, dhe nuk garanton një kompatibilitet 100% me shfletuesit realë.
  • Përpërputja me rrjetet eksterne nuk është pjesë e këtij projekti; përdorni simulatime për të mbuluar testet.

Nëse keni nevojë për API-të shtesë të shfletuesit për testet tuaja, hapni një kërkesë (issue) me një konfigurim minimal për të diskutuar rrethinë dhe prioritetin.