ในการทดสอบระบบที่พัฒนาด้วย Flutter นั้น
ใน official website นั้นจะมีคำแนะนำดังนี้ (เรียกว่า internal testing)
- Unit test
- Widget test
- Integration test
รวมทั้งสามารถทดสอบผ่าน Appium + flutter driver ได้เช่นกัน
ซึ่งแบบหลังผมมักจะเรียกว่า external testing (มุมมองจากคนภายนอก หรือ คนใช้งาน)
จะพบว่าเครื่องมือที่มีอยู่นั้น ก็สามารถใช้งานได้ดี
แต่อาจจะติดขัดเรื่องต่าง ๆ ที่ไม่สะดวกนัก
ดังนั้น Patrol จึงสร้างขึ้นมา ซึ่ง on-top บน testing framework เดิมของ Flutter
ซึ่งเป็น plugin ที่สร้างอยู่บน integration_test นั่นเอง
ดังนั้นเรื่องของ compattible จึงสบายใจได้ !!
โดยความสามารถหลัก ๆ ของ Patrol มีดังนี้
- การเข้าถึง native feature ของแต่ละ platform ที่แตกต่างกัน เช่น permission, notification, app state และ การเปิดปิดการทำงานของ feature ต่าง ๆ เพื่อให้ง่ายต่อการทดสอบในสถานการณ์ต่าง ๆ
- การเข้าถึงแต่ละ element ที่ง่ายขึ้น เขียน code น้อยลง
- ยังมี Hot restart ให้อีกด้วย
- ถ้ามี test case เยอะ ๆ ก็สามารถจัดกลุ่มของ test case เพื่อให้ทดสอบได้ดีขึ้น
ลองใช้งานกันดูครับ
สำหรับการทดสอบระบบที่พัฒนาด้วย Flutter
จะได้ประสบการณ์ที่ดีขึ้นแน่นอน