Lingkungan runtime khusus untuk bahasa Rust.
Berjalan di dalam satu proses Rust. Tidak memerlukan browser eksternal, WebDriver, atau dependensi Node.js.
Sumber Terbuka / Wadah.
"browser-tester" adalah lingkungan pengujian yang berfungsi seperti peramban (browser), tetapi dibuat dengan kode Rust murni dan menghasilkan hasil yang konsisten. Alat ini memvalidasi perilaku DOM (Document Object Model) dan peristiwa tanpa perlu menjalankan peramban sungguhan.
"Browser-tester" berfokus pada pengujian perilaku formulir/antarmuka pengguna yang dapat diprediksi, daripada kompatibilitas rendering browser secara keseluruhan.
Berjalan di dalam satu proses Rust. Tidak memerlukan browser eksternal, WebDriver, atau dependensi Node.js.
Dirancang untuk pengujian yang dapat diulang: menggunakan simulasi jam, generator angka acak yang deterministik, dan antarmuka pemrograman aplikasi (API) untuk kontrol waktu yang eksplisit.
Mendukung alur kerja yang mirip dengan peramban (browser), seperti pemilihan elemen, eksekusi skrip inline, propagasi peristiwa, dan pembaruan DOM.
Siklus umpan balik yang cepat untuk pengujian antarmuka pengguna yang berfokus pada formulir, sambil memastikan bahwa output kesalahan berfokus pada elemen yang dipilih dan nilai yang diharapkan/aktual.
Buatlah kerangka kerja (harness) menggunakan HTML, jalankan interaksi, dan verifikasi hasil DOM. Mulailah dengan kerangka kerja sederhana dan kembangkan dengan menambahkan fitur seperti timer atau simulasi API.
Instal.
cargo menambahkan browser_tester.
Contoh Dasar.
Operasi pengujian DOM inti: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit`, dan fungsi bantu untuk verifikasi teks, nilai, status tercentang, dan keberadaan elemen.
Kontrol perilaku asinkron dengan menggunakan simulasi jam. Majukan waktu secara deterministik menggunakan fungsi `advance_time`, `advance_time_to`, `flush`, dan API untuk memeriksa timer.
Gunakan fungsi `set_fetch_mock`, `enqueue_confirm_response`, dan `enqueue_prompt_response` untuk menyimulasikan respons dari pengambilan data (fetch) dan hasil dialog, sehingga pengujian tetap terisolasi.
Aktifkan log pelacakan dan ekstrak alur kejadian/timer ketika pengujian gagal. Ini berguna untuk men-debug urutan kejadian dan perilaku tindakan default.
Jika Anda memerlukan API browser tambahan untuk rangkaian pengujian Anda, silakan ajukan permintaan (issue) dengan contoh kode minimal untuk membahas cakupan dan prioritasnya.