ເວົ້າລວມແລ້ວ, ມັນຫມາຍເຖິງສະພາບແວດລ້ອມການດໍາເນີນງານທີ່ໃຊ້ພາສາ Rust ເປັນຕົ້ນ.
ມັນເຮັດວຽກພາຍໃນໂຄງການ Rust ດຽວ. ບໍ່ຈໍາເປັນຕ້ອງໃຊ້ຕົວທ່ອງເວັບ, WebDriver ຫຼື Node.js ພາຍນອກ.
ຊອບແວร์ແອກມາດແຊร์/ ກ່ອງ (ບັນจุສິນຄ້າ).
"browser-tester" ແມ່ນເຄື່ອງມືทดสอบທີ່ມີຄຸນສົມບັດຄ້າຍຄືກັບຕົວທ່ອງເວັບ, ຖືກພັດທະນາດ້ວຍພາສາ Rust ຢ່າງບໍລິສຸດ. ມັນໃຊ້ກວດສອບການເຮັດວຽກຂອງ DOM (Document Object Model) ແລະການຕອບສະໜອງຂອງເຫດການ (event) ໂດຍບໍ່ຈໍາເປັນຕ້ອງເປີດຕົວທ່ອງເວັບຕົວຈິງ.
โปรแกรม "browser-tester" ຈະເນັ້ນໃສ່ການທົດສອບການເຮັດວຽກຂອງຟອມ ແລະ ອິນເຕີເຟສຜູ້ໃຊ້ທີ່ສາມາດຄາດຄະເນໄດ້, ແທນທີ່ຈະເນັ້ນໃສ່ການທົດສອບຄວາມເຂົ້າກັນໄດ້ຂອງການສະແດງຜົນຂອງຕົວທ浏览器.
ມັນເຮັດວຽກພາຍໃນໂຄງການ Rust ດຽວ. ບໍ່ຈໍາເປັນຕ້ອງໃຊ້ຕົວທ່ອງເວັບ, WebDriver ຫຼື Node.js ພາຍນອກ.
ອອກແບບມາເພື່ອໃຫ້ສາມາດນໍາໃຊ້ໃນການທົດສອບທີ່ເຮັດຊ້ໍາໆໄດ້: ມີຟັງຊັນຈໍາລອງເວລາ, ການສ້າງຕົວເລກແບບສຸ່ມທີ່ມີຄວາມຫມັ້ນຄົງ, ແລະການຄວບຄຸມເວລາທີ່ລະບຸຢ່າງຊັດເຈນ.
รองรับการทำงานที่คล้ายกับเบราว์เซอร์จริง: การเลือกองค์ประกอบ, การ执行สຄ್ರಿບຕ໌ແບບฝัง, การສົ່ງต่อเหตุการณ์, ແລະການປັບປ່ຽນโครงสร้าง DOM.
ການໃຫ້ຄໍາເຫັນຢ່າງໄວສໍາລັບການທົດສອບສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ທີ່ເນັ້ນໃສ່ແບບຟອມ, ໃນຂະນະທີ່ຮັບປະກັນວ່າຜົນຜະລິດເມື່ອເກີດຂໍ້ຜິດພາດຈະຊີ້ໃຫ້ເຫັນຢ່າງຈະແຈ້ງເຖິງຕົວເລືອກທີ່ຖືກນໍາໃຊ້ ແລະ ຄ່າທີ່ຄາດຫວັງ/ຕົວຈິງ.
ສ້າງໂຄງสร้าง (framework) ຈາກ HTML, ດໍາເນີນການໂຕ້ตอบ, ແລະກວດສອບຜົນລັກສະນະຂອງ DOM. ເລີ່ມຕົ້ນດ້ວຍໂຄງสร้างທີ່ນ້ອຍ ແລະຂະຫຍາຍມັນດ້ວຍຟັງຊັນຈິງເວລາ (timer) ແລະ API ຈຳລອງ.
ຕິດຕັ້ງ.
ເພີ່ມຕົວແກ້ໄຂເວັບໄຊທ໌ (browser tester) ໃສ່ລາຍການສິນຄ້າ.
ຕົວຢ່າງພື້ນຖານ.
ການທົດສອບຫຼັກຂອງ DOM: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit`, ແລະເຄື່ອງມືຊ່ວຍໃນການກວດສອບສໍາລັບຂໍ້ຄວາມ/ຄ່າ/ສະຖານະທີ່ຖືກເລືອກ/ການມີຢູ່.
ຄວບຄຸມການເຄື່ອນໄຫວທີ່ບໍ່ສອດຄ່ອງເວລາດ້ວຍເຄື່ອງຈິງເວລາປອມ. ກ້າວໜ້າເວລາຢ່າງຖືກຕ້ອງໂດຍໃຊ້ຟັງຊັນ `advance_time`, `advance_time_to`, `flush`, ແລະການກວດສອບຕົວຈິງເວລາ.
ໃຊ້ຟັງຊັນ `set_fetch_mock`, `enqueue_confirm_response`, ແລະ `enqueue_prompt_response` ເພື່ອຈໍາລອງການຕອບສະໜອງຈາກການດຶງຂໍ້ມູນ ແລະຜົນລັກສະນະຂອງການໂຕ້ຕອບ, ເພື່ອເຮັດໃຫ້ການທົດສອບເປັນອິດສະຫຼະ.
เปิดໃຊ້ງານບັນທຶກລາຍລະອຽດ ແລະດຶງຂໍ້ມູນກ່ຽວກັບການເຄື່ອນໄຫວ/ເວລາເມື່ອການທົດສອບບໍ່ສໍາເລັດ. ມັນເປັນປະໂຫຍດສໍາລັບການກວດແກ້ບັນຫາທີ່ເກີດຈາກລໍາດັບຂອງການເຄື່ອນໄຫວ ແລະພຶດຕິການຂອງການກະທໍາທີ່ຖືກກໍານົດໄວ້ລ່ວງໜ້າ.
ຖ້າທ່ານຕ້ອງການ API ຂອງຕົວທ່ອງເວັບເພີ່ມເຕີມສໍາລັບชุดການທົດສອບຂອງທ່ານ, ກະລຸນາຕິດຕໍ່ຫາພວກເຮົາ ແລະ ສະເໜີຂໍ້ສະເໜີແນະພ້ອມດ້ວຍຂໍ້ມູນພື້ນຖານທີ່ຈໍາເປັນ ເພື່ອພວກເຮົາຈະໄດ້ພິຈາລະນາຂອບເຂດ ແລະ ຄວາມສໍາຄັນຂອງມັນ.