Open Source / Kahon.

tagasuri ng browser

Ang "browser-tester" ay isang programa na ginagamit para sa pagsubok na gumagana tulad ng isang browser, ngunit ito ay ginawa gamit ang purong Rust. Sinusuri nito ang pag-uugali ng DOM (Document Object Model) at mga kaganapan (events) nang hindi kinakailangang buksan ang isang tunay na browser.

Kalawang. Tiyak na oras ng pagtakbo. Pagsubok ng DOM.

Ano ang mga bagay na mahusay na nagagawa ng produktong ito.

Ang "browser-tester" ay nakatuon sa mga pagsusuri ng pag-uugali ng mga form at user interface na may tiyak na resulta, sa halip na sa kumpletong pagiging tugma sa iba't ibang browser.

Runtime na eksklusibo para sa Rust.

Gumagana sa loob ng isang solong proseso ng Rust. Walang kinakailangang panlabas na browser, WebDriver, o Node.js.

Deterministikong Pagpapatakbo.

Dinisenyo para sa mga pagsubok na maaaring ulitin: may kasamang pekeng orasan, deterministikong random na numero, at mga API para sa direktang kontrol ng timer.

Pagsubok ng DOM at mga Kaganapan.

Sinusuportahan ang mga praktikal na proseso na katulad ng mga ginagamit sa mga browser: mga selector, pagpapatakbo ng mga script na nakapaloob sa loob ng code, pagpapadala ng mga kaganapan, at pag-update ng DOM (Document Object Model).

Mabilis na feedback mula sa mga lokal.

Mabilis na pagbibigay ng resulta para sa mga pagsubok sa user interface na nakatuon sa mga form, habang tinitiyak na ang mga mensahe ng pagkakamali ay nakatuon sa mga elemento na ginamit at sa mga inaasahan at aktwal na halaga.

Mabilis na Pagsisimula.

Gumawa ng isang sistema gamit ang HTML, isagawa ang mga interaksyon, at i-verify ang mga resulta ng DOM. Magsimula sa isang simpleng setup at palawakin ito gamit ang mga timer at mga pekeng API.

I-install.

cargo: idagdag ang browser_tester.

Simpleng Halimbawa.

Pangunahing Interface ng API.

Pagsasama-sama ng mga Aksyon at mga Pahayag.

Mga pangunahing operasyon sa pagsubok ng DOM: Kasama rito ang mga function na `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit`, at mga tulong para sa pagpapatunay ng teksto, halaga, estado ng checkbox, at pag-iral ng mga elemento.

Mga Timer na May Tiyak na Oras.

Kontrolin ang mga prosesong hindi nagaganap nang sunud-sunod gamit ang isang "pekeng" orasan. Ituloy ang takbo ng oras sa isang tiyak na paraan gamit ang mga function na `advance_time`, `advance_time_to`, `flush`, at ang mga API para sa pagsusuri ng timer.

Mga built-in na simulasyon.

Gamitin ang mga function na `set_fetch_mock`, `enqueue_confirm_response`, at `enqueue_prompt_response` upang isama ang mga resulta ng pagkuha ng datos at mga resulta ng pag-uusap sa mga pagsusuri, upang matiyak na ang mga pagsusuri ay hindi nakadepende sa isa't isa.

Pagsubaybay at Pagsusuri.

Paganahin ang mga log ng pagsubaybay at kunin ang daloy ng mga pangyayari/timer kapag nabigo ang isang pagsubok. Ito ay kapaki-pakinabang para sa pag-debug ng pagkakasunod-sunod ng mga pangyayari at ang pag-uugali ng mga default na aksyon.

Patakaran sa Pagpapatakbo.

  • Ang paggamit ng "eval" ay hindi sinusuportahan nang sadyang upang mapanatili ang seguridad at katiyakan.
  • Ang bersyong ito ng programa ay ginawa para sa mga sitwasyong pang-eksperimento, hindi para sa ganap na pagiging tugma sa lahat ng uri ng browser.
  • Ang komunikasyon sa mga panlabas na network ay hindi kasama sa saklaw; gumamit ng mga pekeng data (mock data) para sa pagsubok.

Kung kailangan ninyo ng karagdagang mga API para sa browser para sa inyong mga pagsusuri, magbukas ng isang isyu at magbigay ng isang simpleng halimbawa upang mapag-usapan ang saklaw at prayoridad.