ຊອບແວร์ແອກມາດແຊร์/ ກ່ອງ (ບັນจุສິນຄ້າ).

ຕົວທົດສອບເວັບໄຊທ໌ (browser tester).

"browser-tester" ແມ່ນເຄື່ອງມືทดสอบທີ່ມີຄຸນສົມບັດຄ້າຍຄືກັບຕົວທ່ອງເວັບ, ຖືກພັດທະນາດ້ວຍພາສາ Rust ຢ່າງບໍລິສຸດ. ມັນໃຊ້ກວດສອບການເຮັດວຽກຂອງ DOM (Document Object Model) ແລະການຕອບສະໜອງຂອງເຫດການ (event) ໂດຍບໍ່ຈໍາເປັນຕ້ອງເປີດຕົວທ່ອງເວັບຕົວຈິງ.

สนิม ເວລາການດໍາເນີນງານທີ່ສາມາດຄາດการณ์ໄດ້. ການທົດສອບ DOM.

ສິ່ງທີ່ກະລອກນີ້ສາມາດເຮັດໄດ້ດີ.

โปรแกรม "browser-tester" ຈະເນັ້ນໃສ່ການທົດສອບການເຮັດວຽກຂອງຟອມ ແລະ ອິນເຕີເຟສຜູ້ໃຊ້ທີ່ສາມາດຄາດຄະເນໄດ້, ແທນທີ່ຈະເນັ້ນໃສ່ການທົດສອບຄວາມເຂົ້າກັນໄດ້ຂອງການສະແດງຜົນຂອງຕົວທ浏览器.

ເວົ້າລວມແລ້ວ, ມັນຫມາຍເຖິງສະພາບແວດລ້ອມການດໍາເນີນງານທີ່ໃຊ້ພາສາ Rust ເປັນຕົ້ນ.

ມັນເຮັດວຽກພາຍໃນໂຄງການ Rust ດຽວ. ບໍ່ຈໍາເປັນຕ້ອງໃຊ້ຕົວທ່ອງເວັບ, WebDriver ຫຼື Node.js ພາຍນອກ.

ການດໍາເນີນງານທີ່ສາມາດຄາດการณ์ໄດ້.

ອອກແບບມາເພື່ອໃຫ້ສາມາດນໍາໃຊ້ໃນການທົດສອບທີ່ເຮັດຊ້ໍາໆໄດ້: ມີຟັງຊັນຈໍາລອງເວລາ, ການສ້າງຕົວເລກແບບສຸ່ມທີ່ມີຄວາມຫມັ້ນຄົງ, ແລະການຄວບຄຸມເວລາທີ່ລະບຸຢ່າງຊັດເຈນ.

ການทดสอบ DOM ແລະเหตุการณ์.

รองรับการทำงานที่คล้ายกับเบราว์เซอร์จริง: การเลือกองค์ประกอบ, การ执行สຄ್ರಿບຕ໌ແບບฝัง, การສົ່ງต่อเหตุการณ์, ແລະການປັບປ່ຽນโครงสร้าง DOM.

ການຮັບຟັງຄໍາເຫັນຈາກປະຊາກອນທ້ອງຖິ່ນຢ່າງໄວ.

ການໃຫ້ຄໍາເຫັນຢ່າງໄວສໍາລັບການທົດສອບສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ທີ່ເນັ້ນໃສ່ແບບຟອມ, ໃນຂະນະທີ່ຮັບປະກັນວ່າຜົນຜະລິດເມື່ອເກີດຂໍ້ຜິດພາດຈະຊີ້ໃຫ້ເຫັນຢ່າງຈະແຈ້ງເຖິງຕົວເລືອກທີ່ຖືກນໍາໃຊ້ ແລະ ຄ່າທີ່ຄາດຫວັງ/ຕົວຈິງ.

ເລີ່ມຕົ້ນຢ່າງໄວ.

ສ້າງໂຄງสร้าง (framework) ຈາກ HTML, ດໍາເນີນການໂຕ້ตอบ, ແລະກວດສອບຜົນລັກສະນະຂອງ DOM. ເລີ່ມຕົ້ນດ້ວຍໂຄງสร้างທີ່ນ້ອຍ ແລະຂະຫຍາຍມັນດ້ວຍຟັງຊັນຈິງເວລາ (timer) ແລະ API ຈຳລອງ.

ຕິດຕັ້ງ.

ເພີ່ມຕົວແກ້ໄຂເວັບໄຊທ໌ (browser tester) ໃສ່ລາຍການສິນຄ້າ.

ຕົວຢ່າງພື້ນຖານ.

ສ່ວນຕິດຕໍ່ຂອງ API ຫຼັກ.

ການເຄື່ອນໄຫວ ແລະ ການຢັ້ງຢືນທີ່ສ້າງຜົນງານ.

ການທົດສອບຫຼັກຂອງ DOM: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit`, ແລະເຄື່ອງມືຊ່ວຍໃນການກວດສອບສໍາລັບຂໍ້ຄວາມ/ຄ່າ/ສະຖານະທີ່ຖືກເລືອກ/ການມີຢູ່.

ຕົວຈິງເວລາ (Deterministic Timers)

ຄວບຄຸມການເຄື່ອນໄຫວທີ່ບໍ່ສອດຄ່ອງເວລາດ້ວຍເຄື່ອງຈິງເວລາປອມ. ກ້າວໜ້າເວລາຢ່າງຖືກຕ້ອງໂດຍໃຊ້ຟັງຊັນ `advance_time`, `advance_time_to`, `flush`, ແລະການກວດສອບຕົວຈິງເວລາ.

ເຄື່ອງຈ模拟 (ເຄື່ອງຈ模拟ທີ່ຖືກລວມເຂົ້າໃນລະບົບ)

ໃຊ້ຟັງຊັນ `set_fetch_mock`, `enqueue_confirm_response`, ແລະ `enqueue_prompt_response` ເພື່ອຈໍາລອງການຕອບສະໜອງຈາກການດຶງຂໍ້ມູນ ແລະຜົນລັກສະນະຂອງການໂຕ້ຕອບ, ເພື່ອເຮັດໃຫ້ການທົດສອບເປັນອິດສະຫຼະ.

ຕິດຕາມ ແລະ ກວດແກ້ບັນຫາ.

เปิดໃຊ້ງານບັນທຶກລາຍລະອຽດ ແລະດຶງຂໍ້ມູນກ່ຽວກັບການເຄື່ອນໄຫວ/ເວລາເມື່ອການທົດສອບບໍ່ສໍາເລັດ. ມັນເປັນປະໂຫຍດສໍາລັບການກວດແກ້ບັນຫາທີ່ເກີດຈາກລໍາດັບຂອງການເຄື່ອນໄຫວ ແລະພຶດຕິການຂອງການກະທໍາທີ່ຖືກກໍານົດໄວ້ລ່ວງໜ້າ.

ນະໂຍບາຍການດໍາເນີນງານ.

  • ການໃຊ້ງານຟັງຊັນ "eval" ຖືກປິດກັ້ນໄວ້ໂດຍເຈດຕະນາ ເພື່ອຮັກສາຄວາມປອດໄພ ແລະຄວາມຖືກຕ້ອງຂອງການເຮັດວຽກ.
  • ການທົດສອບນີ້ແມ່ນອອກແບບມາເພື່ອຈຸດປະສົງໃນການປະເມີນຜົນໃນສະພາບແວດລ້ອມທີ່ຈິງແທ້, ແຕ່ບໍ່ໄດ້ຮັບປະກັນວ່າຈະເຮັດໃຫ້ສາມາດໃຊ້ງານໄດ້ຢ່າງສົມບູນໃນທຸກໆເວັບບຣາວເຊີ.
  • ການເຊື່ອມຕໍ່ເຄືອຂ່າຍພາຍນອກ ບໍ່ໄດ້ຢູ່ໃນຂອບເຂດຂອງການພັດທະນາ; ໃຊ້ການຈຳລອງຂໍ້ມູນ (mock data) ເພື່ອໃຫ້ຄົບຖ້ວນການທົດສອບ.

ຖ້າທ່ານຕ້ອງການ API ຂອງຕົວທ່ອງເວັບເພີ່ມເຕີມສໍາລັບชุดການທົດສອບຂອງທ່ານ, ກະລຸນາຕິດຕໍ່ຫາພວກເຮົາ ແລະ ສະເໜີຂໍ້ສະເໜີແນະພ້ອມດ້ວຍຂໍ້ມູນພື້ນຖານທີ່ຈໍາເປັນ ເພື່ອພວກເຮົາຈະໄດ້ພິຈາລະນາຂອບເຂດ ແລະ ຄວາມສໍາຄັນຂອງມັນ.