โดยปกตินั้นในการทดสอบระบบ web application มักจะใช้งาน Playwright อยู่แล้ว
แต่พอ Jev mode จาก TypeSafe ปล่อยออกมา
จึงนำมาลองใช้งานร่วมกับ Playwright MCP กันดู
น่าจะช่วยให้การทดสอบระบบงานผ่าน web browser ง่ายและเร็วมากขึ้น
มาลองทำ PoC (Proof of Concept) กัน

แนวคิดพื้นฐานของการทำ PoC

  • ผู้ใช้งานทำการกำหนด scenario ที่ต้องการทดสอบ ซึ่งต้องมีรายละเอียดของระบบงาน
  • ใช้ LLM ทำการ extract หรือแยก task ย่อย ๆ ออกมาจาก scenario
  • ทำการควบคุมและอ่านข้อมูลของ web ด้วย Playwright MCP (context/state)
  • ใช้งาน Jev สำหรับการตัดสินใจเลือกว่า แต่ละ task นั้นจะใช้ action หรือ tool อะไรจาก Playwright MCP
  • ถ้าค่า confidence จากผลลัพธ์ของ Jev มาค่ามากกว่าเท่า 80% จะทำงานตามผลลัพธ์นั้น
  • แต่ถ้า confidence ต่ำกว่า จะไปเรียกใช้งานผ่าน LLM แทน (fallback)

แสดงการทำงานดังรูป

มาดูรายละเอียดในแต่ละขั้นตอนกัน

ขั้นตอนที่ 1 ทำการ extract scenario ออกเป็น task ย่อย ๆ ด้วย LLM

ขั้นตอนที่ 2 ทำการ execute ทีละ task ไปเรื่อย ๆ โดยให้ Jev ทำการตัดสินใจ

ในขั้นตอนนี้จะใช้ Playwright MCP สำหรับเปิดหน้า web ปัจจุบัน
จากนั้นทำการอ่าน element/locator มา (state/context)
ตัวอย่างข้อมูลที่ได้

และทำการสร้าง question ให้ Jev แบบ choice ให้เลือกว่าจะทำอะไรต่อไปดี
ทั้ง Action (Click, Fill in และ Assert)
ทั้ง Element และ value ที่จะใช้งาน
และมีการถามเรื่องต่าง ๆ เพิ่มเติม เช่น page ready หรือยังด้วย noul
ตัวอย่าง code เป็นดังนี้

จะทำงานก็ต่อเมื่อค่า confidence มากกว่า 80% ขึ้นไปเท่านั้น
จึงทำงานงานด้วยการเรียกว่า Playwright MCP
ยกตัวอย่างเช่นการ click element ดังนี้

ตัวอย่างการทำงานแบบเต็ม ๆ

ผลที่ได้คือความเร็วในการทำงาน
ซึ่งปกติถ้าใช้งานผ่าน Playwright MCP ตรง ๆ จะใช้เวลาเกือบ 1 นาที
แต่วิธีการนี้ใช้งานไม่กี่วินาที
แต่ก็ต้องเขียนอธิบาย scenario ให้ชัดเจนด้วยเช่นกัน

เห็นในไทยก็มี model ปล่อยออกมาให้ใช้งานแบบ local กันแล้ว
iapp/OpenThai-SystemOne
ลองใช้งานเล่นกันดูครับ

และมีการรวบรวม project ต่าง ๆ ที่ใช้งาน Jev
ใน Awesome TypeSafe และ Jevable
เพิ่ม Jev experiment