Faqat Rust dasturlash tiliga asoslangan ishlaydigan muhit.
Bu dastur yagona Rust jarjoni ichida ishlaydi. Unda tashqi brauzer, WebDriver yoki Node.js kabi har qanday qo'shimcha dasturlarga bo'lgan talab yo'q.
Ochiq manbalar / Paket.
"browser-tester" – bu toʻliq Rust dasturlash tilida yaratilgan, brauzerga oʻxshash test muhiti boʻlib, u haqiqiy brauzer ishga tushirilmasdan, DOM (Hujjat Ob'ekt Modeli) va voqealar (eventlar) ishlashini tekshirish imkonini beradi.
"Browser-tester" dasturiy ta'minoti, brauzerning to'liq funksionalligi bilan bog'liq testlardan ko'ra, foydalanuvchi interfeysi va forma elementlarining ishlashini tekshirishga qaratilgan.
Bu dastur yagona Rust jarjoni ichida ishlaydi. Unda tashqi brauzer, WebDriver yoki Node.js kabi har qanday qo'shimcha dasturlarga bo'lgan talab yo'q.
Ushbu tizim, takrorlanadigan testlar o'tkazish uchun mo'ljallangan bo'lib, uning dizaynida quyidagi elementlar mavjud: sun'iy soat, aniq tasodifiy son generatori va vaqtni boshqarish uchun maxsus API interfeyslari.
Amaliy brauzer funksiyalarini qo'llab-quvvatlaydi: tanlash imkoniyatlari, kodni bevosita bajarish, voqealar tarqalishi va DOM (Hujjat Ob'ekt Modeli) yangilanishi.
Forma markazli foydalanuvchi interfeysi testlari uchun tezkor qayta aloqa jarayoni ta'minlanadi, shu bilan birga xatoliklar haqidagi ma'lumotlar tanlovlar va kutilgan/real qiymatlariga e'tibor qaratadi.
HTML dan foydalanib test tizimi yarating, interaktiv jarayonlarni amalga oshiring va DOM natijalarini tekshiring. Kichik test namunasi bilan boshlang va vaqtni hisoblash funksiyalari va simulyatsiya API'lari yordamida uni kengaytiring.
O'rnatish.
cargo buyurtmasiga "browser_tester" qo'shildi.
Oddiy misol.
Asosiy DOM test funksiyalari: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit` funksiyalari va matn/qiymat/tanlangan/mavjudlik kabi atributlar uchun tekshirish yordamchi funksiyalari.
Asinxron ishlashni simulyatsiya qilingan soat yordamida boshqarish mumkin. `advance_time`, `advance_time_to`, `flush` va vaqtni tekshirish API'lari yordamida vaqtni aniq va bashoratli tarzda oʻzgartirish imkoniyati mavjud.
Testlarni alohida o'tkazish uchun, `set_fetch_mock`, `enqueue_confirm_response` va `enqueue_prompt_response` funksiyalaridan foydalanib, ma'lumotlarni olish jarayonini simulyatsiya qiling va dialog natijalarini sozlang.
Test natijalari yomon bo'lganda, kuzatuv loglarini yoqish va voqealar/vaqt hisoblash jarayonlarini qayd qilish. Bu, voqealar ketma-ketligini va standart harakatlarning ishlashini tekshirish uchun foydalidir.
Agar sizning test dasturiy ta'minotingiz uchun qo'shimcha brauzer API'lariga ehtiyoj bo'lsa, masalani muhokama qilish uchun minimal konfiguratsiya bilan birga murojaat oching va bu masalaning ahamiyatini va ustuvorligini ko'rsating.