← Back to list

8 เครื่องมือ Debug ใน Playwright ที่มือใหม่ควรรู้

เคยไหมครับ? Test รันผ่านบนเครื่องตัวเอง แต่พอขึ้น CI กลับ Fail แบบหาสาเหตุไม่เจอ ปัญหานี้แก้ได้ง่ายขึ้นมาก ถ้ารู้จักเครื่องมือ Debug ที่…

kumoriiz · 2026-07-13 09:37 · 0 claps · 1.8 min read
#playwrights #debugging-tools #testing
Open on Medium ↗
Wiki topics: 💻 · Programming

8 เครื่องมือ Debug ใน Playwright ที่มือใหม่ควรรู้

เคยไหมครับ? Test รันผ่านบนเครื่องตัวเอง แต่พอขึ้น CI กลับ Fail แบบหาสาเหตุไม่เจอ ปัญหานี้แก้ได้ง่ายขึ้นมาก ถ้ารู้จักเครื่องมือ Debug ที่ Playwright เตรียมไว้ให้ครบชุด ตั้งแต่ย้อนดูการทำงานทั้งหมดของ Test ไปจนถึงหยุดดูทีละ Step แบบ Real-time

1. Trace Viewer — ย้อนดูทุกการทำงานของ Test

คืออะไร: เหมือนกล้องวงจรปิดของการรัน Test บันทึกทุกอย่างไว้ (Screenshot, DOM, Network, Console) ให้เปิดย้อนดูได้ทีหลัง โดยไม่ต้องรันซ้ำ

เปิดใช้งาน ใน playwright.config.ts:

export default defineConfig({
  use: {
    trace: 'retain-on-failure',
  },
});

ตัวเลือกที่ใช้บ่อย:

  • retain-on-failure — เก็บเฉพาะ Test ที่ Fail (แนะนำ เหมาะกับ CI เพราะประหยัดพื้นที่)
  • on-first-retry — เก็บเฉพาะตอน Retry ครั้งแรก
  • on — เก็บทุก Test แม้ผ่าน (ไฟล์ใหญ่ ใช้เฉพาะตอน Debug ละเอียดจริง ๆ)

เปิดดู Trace:

npx playwright show-trace trace.zip

เหมาะกับ: Test ที่ Fail บน CI/CD และปัญหาที่เกิดเป็นบางครั้ง (Flaky Test) เพราะเราไม่ต้องรอให้ Fail ซ้ำอีกรอบ

2. UI Mode — ศูนย์รวมการเขียนและ Debug Test

คืออะไร: หน้าจอ GUI สำหรับรัน Test แบบ Interactive เห็นผลทันที ไม่ต้องสลับไปมาระหว่าง Terminal กับโค้ด

npx playwright test --ui

ข้อดี: เลือกรันเฉพาะไฟล์/เฉพาะ Test ได้, Re-run ง่าย, เห็นผล Real-time, กด Trace ดูได้ทันทีที่ Fail โดยไม่ต้องพิมพ์คำสั่งแยก

เหมาะกับ: ช่วงเขียน Test ใหม่ หรือ Debug หลายไฟล์พร้อมกัน

3. Code Generator — ให้ Playwright ช่วยเขียนโค้ดแทน

คืออะไร: เครื่องมือที่บันทึกการคลิก/พิมพ์บนเว็บจริง แล้วแปลงเป็น Playwright Code ให้อัตโนมัติ รวมถึงช่วยหา Locator ที่เสถียร

npx playwright codegen https://example.com

เหมาะกับ: มือใหม่ที่ยังไม่คุ้นกับ Selector หรือใครที่อยากลดเวลาหา Locator ที่แม่นยำ

4. Debug Mode + Playwright Inspector — หยุดดูทีละ Step

คืออะไร: สองตัวนี้เป็นชุดเดียวกัน — สั่ง Debug Mode แล้ว Playwright Inspector คือหน้าต่างที่เด้งขึ้นมาให้ควบคุม เดินหน้า/ถอยหลัง/หยุดพัก Test ได้ทีละคำสั่ง พร้อมดู Locator ที่ Test เลือกใช้จริง

npx playwright test --debug

หรือ

PWDEBUG=1 npx playwright test

หากอยากหยุดที่จุดใดจุดหนึ่งในโค้ดโดยเฉพาะ ใช้ page.pause():

await page.goto('https://example.com');
await page.pause(); // <--- หยุดตรงนี้ให้ตรวจสอบ
await page.click('button');

เหมาะกับ: ตามหาสาเหตุที่ Element หาไม่เจอ หรือ Action ทำงานผิดจังหวะ เพราะเห็นทุก Step ก่อนมันจะพัง

5. Console Log & Network Debugging — เช็ค Error เบื้องหลัง

คืออะไร: ดัก Log และ Network Request/Response ที่เกิดขึ้นในหน้าเว็บระหว่าง Test รัน เพื่อดูว่า Test Fail เพราะ Bug ของเว็บเอง หรือ API มีปัญหา

page.on('console', msg => console.log(msg.text()));
page.on('pageerror', error => console.log(error.message));
page.on('request', request => console.log(request.url()));
page.on('response', response => console.log(response.status(), response.url()));

เหมาะกับ: สงสัยว่า Test Fail เพราะ JavaScript Error หรือ API ตอบผิดปกติ

6. Screenshot & Video — หลักฐานภาพตอน Fail

คืออะไร: บันทึกภาพนิ่งหรือวิดีโอของหน้าจอตอน Test ล้ม ช่วยตอบคำถามที่ Log อย่างเดียวตอบไม่ได้ เช่น “หน้าตาตอนนั้นเป็นยังไง”

use: {
  screenshot: 'only-on-failure',
  video: 'retain-on-failure',
}

ช่วยเช็คได้ว่า: Popup ขึ้นมาบังหรือไม่, หน้าโหลดค้างหรือเปล่า, UI เปลี่ยนไปจากที่โค้ดคาดไว้หรือไม่

เหมาะกับ: Debug บน CI/CD ที่เราไม่เห็นหน้าจอจริง

7. SlowMo — ดูการทำงานแบบสโลว์โมชัน

คืออะไร: สั่งให้ Browser หน่วงเวลาก่อนทำแต่ละ Action ทำให้มองตามทันว่า Test คลิกอะไร พิมพ์อะไรบ้าง แทนที่จะเห็นแค่ภาพวูบเดียว

const browser = await chromium.launch({
  headless: false,
  slowMo: 500, // หน่วง 500ms ต่อ Action
});

เหมาะกับ: สังเกตการทำงานแบบ Real-time, เช็ค Animation, หรือ Demo ให้ทีมดู

สรุป: เลือกใช้ตามสถานการณ์

ไม่จำเป็นต้องใช้ทุกตัวพร้อมกัน เลือกให้เหมาะกับปัญหาตรงหน้า จะช่วยลดเวลา Debug ได้เยอะ โดยเฉพาะปัญหาที่เกิดเฉพาะบน CI/CD หรือเกิดเป็นบางครั้ง


메타데이터
post_id
e07172446dc0
slug
6-debugging-tools-ใน-playwright-ที่มือใหม่ควรรู้-e07172446dc0
url
https://medium.com/@kumoriiz/6-debugging-tools-%E0%B9%83%E0%B8%99-playwright-%E0%B8%97%E0%B8%B5%E0%B9%88%E0%B8%A1%E0%B8%B7%E0%B8%AD%E0%B9%83%E0%B8%AB%E0%B8%A1%E0%B9%88%E0%B8%84%E0%B8%A7%E0%B8%A3%E0%B8%A3%E0%B8%B9%E0%B9%89-e07172446dc0
canonical_url
https://medium.com/@kumoriiz/6-debugging-tools-%E0%B9%83%E0%B8%99-playwright-%E0%B8%97%E0%B8%B5%E0%B9%88%E0%B8%A1%E0%B8%B7%E0%B8%AD%E0%B9%83%E0%B8%AB%E0%B8%A1%E0%B9%88%E0%B8%84%E0%B8%A7%E0%B8%A3%E0%B8%A3%E0%B8%B9%E0%B9%89-e07172446dc0
author_url
https://medium.com/@kumoriiz
status
ok
fetched_at
2026-08-17 19:53:35