Automated UI testing in .NET
การเทส UI บน .NET ด้วย Specflow + Playwright
😎 การที่เดฟทีมสามารถเปลี่ยนของที่เป็น Manual ให้เป็น Automation ได้นั้น จะช่วยให้วงจรการทำซอฟต์แวร์เป็นได้เร็วขึ้น ซึ่งในวันนี้เราจะมาดูการทำ Automation ในฝั่งของ UI กันบ้างว่ามีอะไรเด็ดๆกันบ้าง
🤠 หัวข้อการผจญภัย
ในรอบนี้เราจะเขียนเว็บนับเลขง่ายด้วย Blazor แล้วใช้ Specflow + xUnit มาช่วยในการเขียนเทสว่าตัวเว็บของเราจะสามารถนับเลขได้ถูกต้องหรือเปล่า โดยใช้ Playwright มาช่วยในการจัดการตัว browser นั่นเองขอรับ 😘
ใครยังไม่คุ้นเคย tools ตัวไหนสามารถกดที่ชื่อมันเพื่อไปอ่านได้นะ
🤩 ออกผจญภัยกันเบย
- ทำการสร้างเว็บขึ้นมาด้วย Blazor ซึ่งในตัวอย่างนี้ไม่อยากให้มันมีโปรเจคเยอะผมเลยเลือกเป็น WebAssembly App ตามรูปขอรับ แล้วรอง Run ดูก็จะพบหน้า Counter ที่คอยนับจำนวนครั้งที่ปุ่มถูกกดนั่นเอง
2. หลังจากที่เราได้ตัวเว็บแล้ว ถัดไปก็สร้างโปรเจคที่จะเอามาเทสการทำงานของ UI ด้วยการสร้างโปรเจค Specflow Project + xUnit ตามรูปด้านล่างนั่นเองขอรับ
3.1. ลองเขียนตัว Feature เพื่อทำการทดสอบการกดปุ่มดูซิ
3.2. ตามด้วยตัว Hook สำหรับแท๊ก @Chromium ที่อยู่ในโค้ดด้านบนบรรทัดที่ 4
4. สุดท้ายตามด้วยไฟล์เทส step
เรียบร้อยครับเพียงเท่านี้เราสามารถทำ UI Automation Testing แบบง่ายๆได้แว้ว