Automated UI testing in .NET

Sakul Jaruthanaset
The S (mana)
Published in
Aug 23, 2021

การเทส UI บน .NET ด้วย Specflow + Playwright

😎 การที่เดฟทีมสามารถเปลี่ยนของที่เป็น Manual ให้เป็น Automation ได้นั้น จะช่วยให้วงจรการทำซอฟต์แวร์เป็นได้เร็วขึ้น ซึ่งในวันนี้เราจะมาดูการทำ Automation ในฝั่งของ UI กันบ้างว่ามีอะไรเด็ดๆกันบ้าง

🤠 หัวข้อการผจญภัย

ในรอบนี้เราจะเขียนเว็บนับเลขง่ายด้วย Blazor แล้วใช้ Specflow + xUnit มาช่วยในการเขียนเทสว่าตัวเว็บของเราจะสามารถนับเลขได้ถูกต้องหรือเปล่า โดยใช้ Playwright มาช่วยในการจัดการตัว browser นั่นเองขอรับ 😘

ใครยังไม่คุ้นเคย tools ตัวไหนสามารถกดที่ชื่อมันเพื่อไปอ่านได้นะ

🤩 ออกผจญภัยกันเบย

  1. ทำการสร้างเว็บขึ้นมาด้วย Blazor ซึ่งในตัวอย่างนี้ไม่อยากให้มันมีโปรเจคเยอะผมเลยเลือกเป็น WebAssembly App ตามรูปขอรับ แล้วรอง Run ดูก็จะพบหน้า Counter ที่คอยนับจำนวนครั้งที่ปุ่มถูกกดนั่นเอง
https://localhost:44337/counter

2. หลังจากที่เราได้ตัวเว็บแล้ว ถัดไปก็สร้างโปรเจคที่จะเอามาเทสการทำงานของ UI ด้วยการสร้างโปรเจค Specflow Project + xUnit ตามรูปด้านล่างนั่นเองขอรับ

3.1. ลองเขียนตัว Feature เพื่อทำการทดสอบการกดปุ่มดูซิ

3.2. ตามด้วยตัว Hook สำหรับแท๊ก @Chromium ที่อยู่ในโค้ดด้านบนบรรทัดที่ 4

4. สุดท้ายตามด้วยไฟล์เทส step

เรียบร้อยครับเพียงเท่านี้เราสามารถทำ UI Automation Testing แบบง่ายๆได้แว้ว

--

--