TestCafe t.eval เทียบกับ ClientFunction

Aug 17 2020

อะไรคือความแตกต่างระหว่างฟังก์ชันTestCafes t.eval ()และClientFunctions ?

ฉันใช้ TestCafe มาระยะหนึ่งแล้วและไม่สะดุดกับฟังก์ชัน eval จนถึงตอนนี้

ฉันอยากรู้อยากเห็น แต่ฉันก็มีกรณีการใช้งานที่เป็นรูปธรรมซึ่งไม่ใช่ประเด็นของคำถามนี้ แต่อาจช่วยให้ฉันเข้าใจความแตกต่างระหว่างทั้งสองอย่าง ฉันต้องการทำงานจัดการเพจง่ายๆเช่นซ่อนองค์ประกอบจากโค้ดการทดสอบของฉัน เอกสารประกอบระบุอย่างชัดเจนว่าไม่ควรใช้ ClientFunction สำหรับสิ่งนี้: "อย่าแก้ไขหน้าเว็บที่ทดสอบภายในฟังก์ชันไคลเอนต์ใช้การทดสอบเพื่อโต้ตอบกับเพจแทน" ฟังก์ชัน eval เหมาะสำหรับสิ่งนี้หรือไม่?

คำตอบ

2 AlexeyLindberg Aug 17 2020 at 15:49

ในสาระสำคัญพวกเขาเหมือนกัน ความแตกต่างคือการClientFunctionสร้างอินสแตนซ์ที่สามารถบันทึกลงในตัวแปรแล้วใช้ซ้ำได้หลายครั้งในขณะที่t.evalทำงานโดยไม่บันทึก นอกจากนี้t.evalจะดำเนินการทันทีในขณะที่ClientFunctionไม่ได้สร้างอินสแตนซ์ที่คุณต้องเรียกอย่างชัดเจนเพื่อที่จะเรียกใช้