จากคำถามในการแบ่งปันเรื่อง Full Stack Testing ที่ Skooldio มานั้น
มีคำถามที่น่าสนใจคือ
ในการทดสอบระบบงานด้วย Playwright นั้น
ถ้าเราต้องการสร้าง dashboard กลางด้วย Grafana
เพื่อแสดงผลการทดสอบ จะทำได้หรือไม่ อย่างไรบ้าง ?
มาดูหนึ่งในแนวทางกัน

โครงสร้างของแนวทางเป็นดังรูป

  • ทำการส่งข้อมูลผลการทดสอบไปยัง Prometheus Pushgateway ด้วย Playwright Prometheus Reporter
  • จากนั้นทำการเก็บข้อมูลทั้งหมดไว้ที่ Promethus ซึ่งเป็น metric time-serie database
  • สุดท้ายสร้าง dashboard ใน Grafana และกำหนด datasource ไปที่ Prometheus นั่นเอง

โดยใน Playwright ให้ทำการ config ดังนี้

ในไฟล์ playwright.config.ts ให้เปลี่ยน report ไปยัง Promethus reporter
ตัวอย่าง

จากนั้นใน folder ที่เก็บชุดการทดสอบต่าง ๆ ให้ทำการสร้างไฟล์ config.conf ขึ้นมา
เพื่อทำการ config การจัดเก็บข้อมูลของ report จากขั้นแรก เช่น

เมื่อทุกอย่างเรียนร้อยก็ทำการ setup ระบบจัดเก็บข้อมูลทั้ง 3 ส่วน คือ

ทำการ run test ปกติ จะได้ผลดังนี้

ให้ทำการตรวจสอบผลการทดสอบและ report ต่าง ๆ ใน Prometheus ได้
ตาม key เหล่านี้

  • suite_execution_total
  • suite_execution_failed
  • test_execution_total

แสดงตัวอย่างดังรูป

และทำการสร้าง dashboard ใน Grafana ต่อไป แสดงตัวอย่าง ดังรูป

ลองใช้งานกันดูครับ
ตัวอย่าง source code และการติดตั้งอยู่ที่ GitHub::Up1