Sumber Terbuka / Bekas.

penguji peramban web.

"browser-tester" ialah persekitaran ujian yang meniru fungsi pelayar web, dibangunkan sepenuhnya dalam bahasa Rust. Ia memvalidasi struktur DOM (Document Object Model) dan perilaku acara tanpa memerlukan pelancar pelayar web sebenar.

Karat. Masa berjalan yang dapat dipastikan. Pengujian DOM.

Apa yang menjadi kelebihan kotak ini.

Alat penguji ini memberi tumpuan kepada ujian tingkah laku borang/antaramuka pengguna yang dapat diprediksi, berbanding dengan ujian keserasian paparan penuh pada pelayar web.

Persekitaran masa jalan khusus untuk bahasa Rust.

Berfungsi di dalam satu proses Rust sahaja. Tidak memerlukan sebarang peramban (browser) luaran, WebDriver, atau bergantung kepada Node.js.

Pelaksanaan yang terancang.

Direka khusus untuk ujian yang boleh diulang: menggunakan simulasi jam, penjana nombor rawak yang boleh diprediksi, dan API kawalan masa yang jelas.

Pengujian DOM dan Peristiwa.

Menyokong aliran kerja yang menyerupai penyemak imbas, termasuk pemilihan elemen, pelaksanaan skrip dalam baris, penyebaran peristiwa, dan kemas kini DOM.

Maklum balas tempatan yang pantas.

Kitaran maklum balas yang pantas untuk ujian antara muka pengguna yang berpusat pada borang, sambil memastikan output ralat tertumpu pada pemilih dan nilai yang dijangka/sebenarnya.

Panduan Memulakan dengan Cepat.

Cipta kerangka kerja menggunakan HTML, jalankan interaksi, dan sahkan hasil DOM. Mulailah dengan kerangka kerja yang kecil dan perluasnya dengan menggunakan fungsi masa atau API tiruan.

Pasang.

Muat naik fail bernama "browser_tester" ke dalam direktori "cargo".

Contoh Asas.

Antaramuka API utama.

Gabungkan tindakan dan pernyataan.

Operasi ujian DOM utama: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit`, dan fungsi bantu untuk pengujian teks/nilai/status "dipilih"/keberadaan.

Penyama Masa Berasas Kepastian.

Kendalikan perilaku asinkron dengan menggunakan simulasi jam. Majukan masa secara teratur menggunakan fungsi `advance_time`, `advance_time_to`, `flush`, dan API pemeriksaan masa.

Simulasi terbina dalam.

Suntikkan respons pengambilan data (fetch) dan hasil dialog dengan menggunakan fungsi `set_fetch_mock`, `enqueue_confirm_response`, dan `enqueue_prompt_response` untuk memastikan ujian dijalankan secara berasingan.

Penjejakan dan Diagnostik.

Aktifkan log penjejakan dan ekstrak aliran peristiwa/pencungkit apabila ujian gagal. Ini berguna untuk mengesan susunan peristiwa dan perilaku tindakan lalai.

Dasar Pengoperasian.

  • Fungsi "eval" sengaja tidak disokong untuk memastikan keselamatan dan kebolehkiraan sistem.
  • Perisian ini direka untuk mensimulasikan senario ujian praktikal, bukan untuk memastikan keserasian 100% dengan semua jenis penyemak imbas web.
  • Penggunaan input/output (I/O) rangkaian luaran tidak termasuk dalam cakupan ini; gunakan simulasi (mock) untuk memastikan liputan ujian yang mencukupi.

Jika anda memerlukan API tambahan untuk penyemak imbas bagi set ujian anda, sila buka satu isu dan sertakan contoh kod yang ringkas untuk membincangkan ruang lingkup dan keutamaan perkara tersebut.