Зөвхөн Rust хэлээр бичигдсэн программ ажиллагаалах орчин.
Энэ нь ганц Rust програмын дотор ажилладаг. Бусад программ, жишээлбэл, веб браузер, WebDriver эсвэл Node.js-ийн дэмжлэг хэрэггүй.
Нээлттэй эх код / Савлагаа.
"browser-tester" нь Rust хэлээр бүтээгдсэн, тодорхой алгоритмтай, веб браузер шиг ажилладаг тестийн программ юм. Энэ нь жинхэнэ браузер ашиглалгүйгээр DOM (Document Object Model) болон үйл явцдын үйлчилгээг шалгадаг.
"Browser-tester" нь бүрэн дүүгэн браузерын горимд ажиллах боломжийг шалгахын оронд, хэлбэрүүд болон интерфейсийн урьдчилан төлөвлөгдсөн ажиллагааг шалгах зорилготой.
Энэ нь ганц Rust програмын дотор ажилладаг. Бусад программ, жишээлбэл, веб браузер, WebDriver эсвэл Node.js-ийн дэмжлэг хэрэггүй.
Бүтэн бүтэн туршилтуудыг давтан хийхэд тохиромжтой байхыг зорилго болгосон: хуурамч цаг, тодорхой шинжтэй хайрга үүсгэх систем, мөн цагийн улаан байдлыг тодорхой хянахаар зохион бүтээсэн интерфейсүүд ашиглагдсан.
Браузертой ажиллахдаа хэрэглэгддэг олон функц, жишээ нь: элементүүдийг сонгох, скриптийг шууд ажиллуулах, үйл явдлыг дамжуулах, мөн DOM-ийн өөрчлөлтийг дэмждэг.
Формд суурилсан интерфейсийн тестийн хувьд, хурдан хариу өгөх системийг ашиглаж, алдааны мэдээллүүдийг сонгогч элементүүд болон төлөвлөгдсөн/бодит утгууд дээр төвлөрдөг байх.
HTML-ийг ашиглан туршилтын орчиг (harness) үүсгэж, өөр өөр үйлчилгээг туршиж, DOM-ийн үр дүнг шалгаж байх боломжтой. Эхлээд жижиг туршилтын орчиг үүсгэж, дараа нь цагийн тохируулга эсвэл хуурамч API-уудыг ашиглан өргөтгөж болно.
Суулгах.
cargo програманд "browser_tester" гэсэн багцыг нэмж өг.
Бага дээж.
Гол DOM тестийн үйл ажиллагаа: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit` болон текст, утга, сонгогдсон байдал, байршил зэргийг шалгах тусламж үйлчилгээнүүд.
Асинхрон үйлдлийг төлөвлөгдсөн цаг ашиглан хянаж болно. `advance_time`, `advance_time_to`, `flush` болон цагийн тохиргоог шалгах API-уудыг ашиглан цагийг тодорхой хэлбэрээр урагдуулах боломжтой.
Тестүүдийг тусгаарлаж байхаар, `set_fetch_mock`, `enqueue_confirm_response` болон `enqueue_prompt_response` функцийгууд ашиглан, серверээс авсан хариултууд болон утаа залгасны үр дүнүүдийг тохируулж бай.
Шинжилгээ бүтэлгүйдсэн үед, бүртгэлүүдийг идэвхжүүлж, үйл явдал болон цагийн урсгалыг цуглуулна. Энэ нь үйл явдлын дарааллыг болон угсар газарх үйл ажиллагааны асуудлыг илрүүлэхэд тустай.
Таны туршилтын программд илүү браузер API-ууд хэрэгтэй бол, асуудлыг гаргаж, тодорхой зорилготой жишээг хамт өгөөд, энэ талаар ярилцахаар санал болгоно.