
จากคำถามในการแบ่งปันเรื่อง Full Stack Testing ที่ Skooldio มานั้นมีคำถามที่น่าสนใจคือในการทดสอบระบบงานด้วย Playwright นั้นถ้าเราต้องการสร้าง dashboard กลางด้วย Grafanaเพื่อแสดงผลการทดสอบ จะทำได้หรือไม่ อย่างไรบ้าง ?มาดูหนึ่งในแนวทางกัน
ในการตรวจสอบโครงสร้างของข้อมูลในรูปแบบต่าง ๆ เช่น XML และ JSON เป็นต้นสำหรับภาษา JavaScript จะใช้ library ต่าง ๆ เช่น JSON Schema, Zod, ValiBot และ ArkType เป็นต้นซึ่งมีวิธีการที่หลายหลายมาก ๆ ดังนั้นจึงเกิดแนวทางของ Standard Schema เพื่อตรวจสอบลดการผูกมัดกับ library ต่าง ๆ งไปแต่ยังทำงานร่วมกับ library ต่าง ๆ ได้
มาลองใช้งาน Posting สำหรับ API testing ใน terminal แบบง่าย ๆโดยสามารถใช้งานได้ทั้ง local หรือ บนเครื่องของเราเองหรือจะใช้งานผ่าน SSH protocol บน remote server ได้รวมทั้งยังสนับสนุน container อีกด้วยส่วน request ต่าง ๆ จะทำการจัดเก็บลงไฟล์ YAML ทำให้จัดการ version control เช่น Git ได้ง่ายขึ้นมาเริ่มใช้งานกัน
หลังจากที่ไปแบ่งปันความรู้เรื่องการพัฒนา RAG app (Retrieval-Augmented Generation) มานิดหน่อยซึ่งมีกระบวนการพื้นฐานประกอบไปด้วย หนึ่งในขั้นตอนที่น่าสนใจคือ Vector Database เราจะใช้อะไรดี ซึ่งมีให้เลือกมากมาย ตามความเหมาะสม หรือ ความชอบก็ว่าไปหนึ่งในตัวที่ถามในการแบ่งปันคือ MongoDBดังนั้นมาลองใช้งานกันหน่อย
ใน Selenium WebDriver นั้นมีความสามารถใหม่ออกมาคือ Selenium WebDriver BiDiเป็นการนำเอาความสามารถของ Selenium WebDriver มาผสมเข้ากัน CDP (Chrome DevTools Protocol)นั่นคือ ทำการผ่าน websocket (JSON-over-WebSocket) ไม่ทำการแบบ synchronous เหมือนเดิมแล้วทำให้การทำงานเร็วขึ้น ปัญหา flaky test น้อยลงไปควบคุม Web browser ได้ดีและมากขึ้นโดยในความสามารถที่รอมานาน ซึ่ง Cypress และ Playwright ทำได้นานแล้วคือ Network Intercepter
จากที่แบ่งปันเรื่อง Full Stack Testing ที่ Skooldio ไปนั้นได้อธิบายถึงการสร้างหรือจำลอง dependencies ต่าง ๆ ที่ระบบงานต้องใช้งานเพื่อควบคุมผลการทำงานให้เป็นไปตามที่ต้องการไม่ว่าจะ success หรือ failureเพื่อช่วยให้เราทดสอบระบบงานของเราได้อย่างมั่นใจ และ ทำซ้ำ ๆ ได้บ่อยเท่าที่ต้องการหนึ่งในวิธีการที่แนะนำไป แต่ยังไม่ทำการ demo ให้ดูนั่นก็คือ การใช้งาน TestContainerจึงมาเขียนอธิบายให้เพิ่มเติมดังนี้
ใน Robot framework 7.2 นั้นทำการเพิ่ม Group syntax เข้ามาใน test scriptมีเป้าหมายเพื่อจัดกลุ่มของขั้นตอนการทำงานใน test caseให้อ่านง่ายขึ้น ดูแลรักษาได้ง่ายขึ้นรวมทั้งเรื่อง log ที่ออกมาใน report ให้เข้าใจใน high level มากยิ่งขึ้นแต่ในเอกสารยังแนะนำให้ใช้งาน User Keyword มากกว่าเพราะว่าสามารถ reuse ได้ รวมทั้งเป็นการซ่อนความซับซ้อนของการทำงานไว้ด้วยมาลองใช้งานกันดู