Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

บันทึกการทดสอบ Flutter app ด้วย Appium

$
0
0

จากการแบ่งปันเรื่องการทดสอบ Mobile app ในรูปแบบต่าง ๆ
ทั้งจาก native ตามภาษาของแต่ละ app เช่น Kotlin และ Swift
รวมทั้งพวกที่พัฒนาด้วย Flutter + Dart
ซึ่งภาษาต่าง ๆ เหล่านี้ล้วนมี library ของการทดสอบให้ทั้งหมด เช่น

  • Android + Kotlin จะมี Instrumentation test และ Espresso/UIAutomator
  • iOS + Swift จะมี XCUITest
  • Flutter + Dart จะมี integration test

แต่ตัวที่น่าสนใจคือ Mobile app ที่พัฒนาด้วย Flutter + Dart นั้น

หลาย ๆ ที่มักจะทดสอบด้วยเครื่องมือที่ชื่อว่า Appium
โดยต้องทำการสร้างไฟล์ APK หรือ IPA/APP มาก่อน
หรือติดตั้ง app ที่ที่ device ก่อนทดสอบ
ซึ่งผมจะเรียกการทดสอบแบบนี้ว่า External testing
เพราะว่า เป็นการทดสอบมุมมองของผู้ใช้งาน
แน่นอนว่า ช้าแน่ ๆ และ test case พังบ่อยมาก ๆ
แต่การทดสอบมีความน่าเชื่อสูง

ปัญหาของทดสอบ Flutter app ด้วย Appium นั้นคือ ไม่สามารถ inspect ได้ !!

แต่จาก version ใหม่ ๆ พบว่า Appium inspector
สามารถทำการ inspect app ที่พัฒนาจาก Flutter ได้เลย
ทั้งฝั่งของ Android และ iOS
ไม่ต้องติดตั้ง Flutter driver ใน Appium server อีกต่อไป

แต่ปัญหาที่ตามมาคือ การเข้าถึงแต่ละ element บนหน้าจอนั่นเอง จะทำอย่างไร ?

สิ่งที่สามารถทำได้ประกอบไปด้วย

  • by Key
  • by Text (ไม่ดี)
  • by Semantics Label

สามารถเพิ่มเข้าไปในแต่ละ element ได้
จากนั้นต้องทำการ inspect ใน Appium inspector อีกที
ว่า app บน Android และ iOS นั้นได้ผลเหมือนหรือต่างกันอย่างไร
เพราะว่า เรื่องนี้สำคัญมาก ๆ สำหรับการทดสอบแบบ external นั่นเอง
ไม่ง่าย แต่ก็ไม่ยาก และ ต้องระวังให้มาก ๆ

การทดสอบควรมีทั้ง internal และ external testing เสมอ
เพื่อสร้างความมั่นใจให้ทั้งทีมพัฒนา และ ผู้ใช้งานนั่นเอง


Viewing all articles
Browse latest Browse all 1997

Trending Articles