Section 6: ฟอร์ม ไฟล์ และการล็อกอิน
- การกรอกฟอร์มทุกรูปแบบ ทั้งช่องข้อความ ตัวเลือก และปฏิทิน
- การอัปโหลดและดาวน์โหลดไฟล์ และการตรวจสอบผลลัพธ์
- การเก็บสถานะการล็อกอินไว้ใช้ซ้ำเพื่อไม่ต้องล็อกอินใหม่ทุกเทสต์
- Lab: เขียนเทสต์ที่ล็อกอินหนึ่งครั้งแล้วใช้สถานะเดิมกับเทสต์ที่เหลือ
Section 7: Page Object และการจัดระเบียบโค้ด
- แนวคิด Page Object และการแยกรายละเอียดหน้าจอออกจากตรรกะการทดสอบ
- การใช้ Fixture เพื่อเตรียมสภาพแวดล้อมและข้อมูลก่อนรันเทสต์
- การแยกข้อมูลทดสอบออกจากโค้ดเพื่อรันเทสต์เดิมกับหลายชุดข้อมูล
- Lab: แปลงชุดเทสต์ที่เขียนไว้ให้เป็น Page Object ที่ดูแลง่าย
Section 8: การทดสอบ API ร่วมกับหน้าจอ
- การเรียก API โดยตรงจาก Playwright เพื่อเตรียมข้อมูลก่อนทดสอบหน้าจอ
- การตรวจสอบผลลัพธ์ฝั่งหลังบ้านหลังจากทำงานผ่านหน้าจอ
- การดักและจำลองการตอบกลับของ API เพื่อทดสอบกรณีที่สร้างยาก
- Lab: เขียนเทสต์ที่เตรียมข้อมูลผ่าน API แล้วตรวจผลลัพธ์บนหน้าจอ
Section 9: รายงานผลและการไล่หาสาเหตุ
- การอ่านรายงานผลการทดสอบและการดูว่าเทสต์ล้มที่ขั้นตอนใด
- การเก็บภาพหน้าจอ วิดีโอ และ Trace อัตโนมัติเมื่อเทสต์ล้มเหลว
- การใช้ Trace Viewer ย้อนดูทุกขั้นตอนของเทสต์ที่ล้ม
- การใช้ Codegen ช่วยร่างเทสต์และข้อควรระวังในการนำโค้ดไปใช้ต่อ
Section 10: การรันบน CI/CD
- การรันชุดทดสอบอัตโนมัติทุกครั้งที่มีการแก้โค้ดหรือเปิด Pull Request
- การรันเทสต์แบบขนานให้เร็วขึ้นและการแบ่งงานระหว่างเครื่อง
- การจัดการข้อมูลลับและค่าตั้งต้นระหว่างสภาพแวดล้อม Dev และ Staging
- Lab: ตั้งค่าให้ชุดทดสอบรันอัตโนมัติบน CI พร้อมเก็บรายงานผล
Section 11: Capstone และการนำไปใช้จริง
- โจทย์: สร้างชุดทดสอบครอบคลุมเส้นทางสำคัญของเว็บหนึ่งระบบตั้งแต่ต้นจนจบ
- การเลือกว่าเส้นทางใดคุ้มค่าที่จะทดสอบอัตโนมัติก่อน
- แนวทางดูแลชุดทดสอบไม่ให้กลายเป็นภาระของทีมในระยะยาว
- Workshop: นำเสนอชุดทดสอบที่สร้างและทบทวนโครงสร้างร่วมกัน