
วันนี้ทำการแบ่งปันการทดสอบระบบ Web และ API ด้วย Playwright
พบว่าตั้งแต่ version 1.62 มาจนถึง 1.63 มีการเปลี่ยนแปลงที่น่าสนใจเยอะเลย
จึงทำการสรุปเอาไว้นิดหน่อย
มาดูกันว่ามี feature อะไรบ้าง ?
เริ่มจากที่ Playwright สามารถทำ Component testing ได้เลย
ทำให้เราสามารถทดสอบในแต่ละ component แบบเป็นอิสระได้เลย
และไม่ต้องใช้พวก experimental library อีกต่อไปแล้ว
ในส่วนของ screenshot testing หรือ visual comparison นั้น
รองรับ format .webp แล้ว
เพิ่ม strategy ใหม่ในการ retry test cases ที่ fail นั่นเอง
จากเดิมที่จะมีเพียงให้ทำการทดสอบทันทีถ้า worker ว่าง
แต่ตอนนี้สามารถกำหนดเป็น isolated
เพื่อให้ run หลังจากทดสอบเสร็จหมดแล้ว แบบหนึ่งต่อหนึ่งกับ worker ไปเลย
เป้าหมายเพื่อไม่ให้การทดสอบมันส่งกระทบต่อกัน
เพิ่ม Test lock เข้ามา สำหรับการจัดการ test case ที่ใช้งาน shared resource กัน
เช่นการเรียกใช้งาน external api/service หรือ การ setting ต่าง ๆ
ถ้ามีมากกว่า 1 test case มาใช้งาน resource เหล่านี้พร้อม ๆ
อาจจะทำให้การทดสอบไม่เสถียรได้
ดังนั้นจึงเพิ่ม lock เข้ามาใน test case ดังนี้
อยู่ในเรื่อง Test parallel หรือการทดสอบพร้อม ๆ กัน
ซึ่ง default config ของ Playwright จะเป็น parallel นั่นเอง
หรือสามารถให้ run แบบทีละ test case ตามลำดับก็ได้
ปล. เพิ่งสังเกตว่าตั้งแต่ Playwright 1.57
ทำการเปลี่ยน default browser engine
จาก Chromium มาเป็น Google Chrome for Testing แล้ว

รวมทั้งถ้าเราทำการ install web browser นั้น
ค่า default จะทำการลบ web browser ตัวเก่า และ ติดตั้งตัวให่
ดังนั้นจึงเพิ่ม option ในการ install แบบไม่ลบตัวเก่า
ด้วยคำสั่ง $npx playwright install –no-remove
ลอว Update และใช้งานกันดูครับ
มีการเปลี่ยนแปลงเยอะเลย