หลังจากที่ facebook ล่มไปนั้น
ก็ไปเจอหน้า login ของ facebook ที่ไม่ได้เห็นนานมาก ๆ
เลยได้เห็นว่า ใน html tag นั้นมีการใส่ data-testid เข้ามาเป็น attribute หนึ่งด้วย
ซึ่งถ้าในแง่ของการทดสอบ UI test นั้น
มันคือหนึ่งในแนวทาง ในการเข้าถึง element แบบไม่ผูกมัดกับ UI มากนัก
ซึ่งช่วยลดการพังง่ายของการทดสอบนั่นเอง
โดยถ้าอ้างอิงจาก Testing Guilde Principles นั้น
จะมีการจัดการลำดับความสำคัญของการเข้าถึง element ต่าง ๆ ของ UI ไว้ดังนี้
- Queries Accessible to Everyone เช่นพวก getByRole ตาม web accessibility
- Semantic Queries เป็นการเข้าถึงตามมาตรฐานของ HTML5 และ ARIA compliant selectors
- Test IDs ซึ่งจาก guilde นั้น แนะนำให้ใช้เมื่อ 2 ข้อแรกไม่สามารถใช้งาน
แต่ในการใช้งานหลัก ๆ ที่ผ่านมานั้น
ผมมักจะนิยมใช้ Test IDs เป็นหลัก
เพราะว่า วางแผนได้ง่าย และ ไม่ผูกมัดกับการพัฒนาฝั่ง UI มากไป
โดยพวกเครื่องมือต่าง ๆ ก็สนับสนุนทั้ง cypress และ playwright เป็นต้น
แต่ก็ลองศึกษาและลองใช้งานเพิ่มเติมกันดู
ขอให้สนุกกับการทดสอบ