Ochiq manbalar / Paket.

brauzer-tekshiruvchi.

"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.

Zang. Belgilangan vaqt davomiyligi. DOM testlari.

Bu dastur qanday vazifalarni yaxshi bajaradi?

"Browser-tester" dasturiy ta'minoti, brauzerning to'liq funksionalligi bilan bog'liq testlardan ko'ra, foydalanuvchi interfeysi va forma elementlarining ishlashini tekshirishga qaratilgan.

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.

Aniq bajarish.

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.

DOM va voqealar bilan bog'liq testlar.

Amaliy brauzer funksiyalarini qo'llab-quvvatlaydi: tanlash imkoniyatlari, kodni bevosita bajarish, voqealar tarqalishi va DOM (Hujjat Ob'ekt Modeli) yangilanishi.

Tez va mahalliy fikr-mulohaza.

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.

Tez boshlanish.

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 API interfeysi.

"Harness Actions + Assertions" so'zni tarjima qilishning aniq usuli kontekstga bog'liq. Biroq, umumiy ma'noda, bu quyidagicha ifodalanishi mumkin: "Kuchlarni birlashtirish + Davom etish" "Potentsialni ochish + Qat'iylikni namoyish etish" "Imkoniyatlardan foydalanish + Umidni saqlash" "Kuzatuvlarni amalda qo'llash + Ishtiyoqni kuchaytirish"

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.

Aniq vaqtni hisoblash funksiyasi.

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.

O'rnatilgan simulyatorlar.

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.

Tahlil va diagnostika.

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.

Ishlash siyosati.

  • "eval" funksiyasi xavfsizlik va aniqlikni ta'minlash maqsadida, sun'iy ravishda ishga tushirilmaydi.
  • Ushbu dasturiy ta'minot amaliy test stsenariylariga mo'ljallangan bo'lib, u 100% real brauzerlar bilan to'liq mosligini ta'minlamaydi.
  • Tashqi tarmoq bilan aloqa (input/output) ushbu ko'rsatmaga tegishli emas; testlarni o'tkazish uchun "fetch" funksiyasining sun'iy nusxalaridan foydalaning.

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.