
จากการแบ่งปันเรื่อง Automated Testing สำหรับ web application
ด้วย Playwright ที่ Software Park นั้น
มีคำถามที่น่าสนใจเกี่ยวกับการตรวจสอบ look and feel ของระบบ
ว่าเราจะตรวจสอบอย่างไร ว่ายังคงทำงานเหมือนเดิม ตามที่ตกลงกันไว้
เนื่องจากการทดสอบทั่วไปเราจะทดสอบในมุมมองของ functional
คือระบบทำงานได้ตามที่ต้องการ หรือ คาดหวัง หรือไม่
แต่ยังคงแสดงผลเหมือนเดิม ยังคงเป็นปัญหา ?
หนึ่งในแนวทางคือ การ capture หน้าจอ หรือบันทึก VDO ไว้
แล้วมานั่งดูกันอีกทีด้วยตา (อัตโนมือ หรือ ตาม !!)
หรือบางคมอาจจะเขียน program เพื่อทำการ compare image ขึ้นมาเองก็ได้
แล้วแต่ความสามารถของแต่ละคน แต่ละทีมไป
ในส่วนของ Playwright นั้น ก็จะมี Visual comparisons ให้ใช้งาน
ซึ่งมีความสามารถดังนี้
- สามารถเลือกได้ว่าจะ capture หน้าจอจาก web app ทั้งหน้า หรือ element/locator ที่ต้องการ
- สามารถเลือกได้ว่าจะตรวจสอบแบบ perfect pixel หรือกำหนดจำนวน pixel ที่ต่างกันได้
- สามารถเลือกได้ว่าจะใช้รูปจากการ capture จาก test ครั้งไหน
ตัวอย่างการตรวจสอบหน้าจอแบบ perfect pixel
หรือให้ pixel ต่างกันไม่เกิน 100 pixel
ถึงแม้จะทำงานได้ดี แต่สิ่งที่จัดการให้ได้คือ ระบบที่ถูดทดสอบต้อง stable ด้วย
ทั้งควบคุม state ของหน้าจอให้คงที่
เช่นต้องตรวจสอบ state ของหน้าว่า load ตามที่กำหนด ก่อนจะทำการ capture หน้าจอ
ทั้งการควบคุม dependency ต่าง ๆ ของระบบที่ dynamic ให้ทำงานแบบ static
ยกตัวอย่างเช่น รูปต่าง ๆ vdo ต่าง ๆ ข้อมูลต่าง ๆ
โดยสามารถใช้งานผ่าน Network interceptor
ลองใช้งานกันดูครับ
สำหรับการทดสอบ web app แบบอัตโนมัติ