คำถาม ใน Playwright นั้น ถ้าเราต้องการ run test case เฉพาะที่เปลี่ยนแปลงเท่านั้น
จะต้อง run อย่างไรบ้าง ?
คำตอบมี 2 แบบคือ

  • แบบที่ 1 ใช้ watch mode ใน Playwright UI mode
  • แบบที่ 2 ใช้ผ่าน CLI ด้วย option –only-changed

ในแบบแรกใช้ผ่าน Playwright UI Mode ไม่น่ามีอะไร
แต่แบบที่สอง ใช้งานผ่าน CLI​
ซึ่งน่าจะใช้งานบ่อยได้การ run ทั้งหมด หรือใน pipeline ของระบบ CI/CD
ปกติจะใช้งานด้วยคำสั่ง

$npx playwright test

แต่ถ้าเราต้องการ run เฉพาะ test case ที่ทำการเปลี่ยนแปลงเท่านั้น
โดยใน Playwright จะทำการตรวจสอบผ่าน git commit นั่นเอง
ด้วยคำสั่ง

$npx playwright test --only-changed

จะทำการตรวจสอบการเปลี่ยนแปลงปัจจุบันกับตำแหน่ง HEAD ใน git บนเครื่องเรานั่นเอง

ถ้าเราทำงานแบบ feature branch แล้วต้องทำการ merge ไปยัง main branch เสมอ
ก่อนการ merge เราต้องทำการ run test ใน branch ของเราก่อนเสมอ
จะทำการ run ด้วยคำสั่ง

$npx playwright test --only-changed=main

หรือนำเอาการ run test ไปใส่ใน pre-commit ก็ได้
จะได้ run test ทุก ๆ ครั้งที่ commit ได้เลย
และ run เฉพาะ test case ที่มีการเปลี่ยนแปลงเท่านั้น

เพิ่มเติมกับการ run เฉพาะ test case ที่ failure จากการ run ครั้งล่าสุดด้วย –last-failed

ลองใช้งานกันดู สะดวกสบายดี

Reference websites