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

ทำความรู้จักกับ Android Test Orchestrator

$
0
0

เนื่องจากมีเหตุต้องมาใช้งาน Android Test Orchestrator เพื่อช่วยแก้ไขปัญหาและปรับปรุงการทำงานของ Instrumentation test ของ Android app ดังนั้นจึงทำการสรุปความรู้พื้นฐานและการใช้งานไว้นิดหน่อย น่าจะเป็นเครื่องมือที่ใช้กันน้อยมาก ๆ แต่มันก็มีประโยชน์นะ

Android Test Orchestrator คืออะไร

เป็นเครื่องมือสำหรับ Instrumentation test หรือการทดสอบที่ต้องการ Device จริง ๆ หรือ Emulator เสมอ ยังไม่พอนะ ในแต่ละ Test Case หรือ method ที่ขึ้นด้วย @Test นั้น จะทำงานหรือทดสอบคนละ instance กัน นั่นหมายความว่า ในแต่ละ Test Case จะไม่ส่งผลกระทบต่อกัน ยกตัวอย่างเช่น ถ้าบาง Test Case ส่งผลให้การทดสอบ crash หรือพังไป เช่นเกิด RuntimeException เป็นต้น จะไม่ส่งผลต่อ Test Case อื่น ๆ แต่ถ้าไม่ได้ใช้ Android Test Orchestrator แล้วจะทำให้ Test Case อื่น ๆ ไม่ถูกทดสอบได้ ถ้าบาง Test Case ต้องไปทดสอบการทำงานของ app แบบ asynchronous แล้ว มันอาจจะเกิด overlab หรือทับซ้อนกันระหว่างการทดสอบ ซึ่งอาจจะทำให้การทำงานของแต่ละ Test Case ผิดได้ง่าย ๆ เช่น Test Case ที่ 1 ต้องเป็นเรียกใช้ Service บางอย่าง แน่นอนว่า การทดสอบมันผ่านไปแล้ว จากนั้น Test Case ที่ 2 ถูกทดสอบ ในขณะนั้นเองที่ ผลจากการทำงานของ Service ถูกส่งกลับมา มันอาจจะทำให้การทดสอบของ Test Case ที่ 2 พังหรือผิดก็ได้ เพราะว่า แต่ละ Test Case ทำงานอยู่ใน instance ของการทดสอบเดียวกัน instance ของอะไร ? instance ของ AndroidJUnitRunner นั่นเองนะ นี่คือประโยชน์ของ Android Test Orchestrator

โครงสร้างการทำงานของ Android Test Orchestrator เป็นดังนี้

คำอธิบายการทำงาน ในการทำงานจริง ๆ จะมีการติดตั้งไฟล์ APK ไปยัง Device หรือ Emulator 4 ไฟล์ คือ
  1. Application Under Test คือ APK ของ app ที่จะถูกทดสอบ
  2. Test คือ APK ของชุดการทดสอบทั้งหมด
  3. Orchestrator คือ APK ของ Android Test Orchestrator สำหรับ run แต่ละ Test Case
  4. Test Service คือ APK ที่แยกออกมาจาก Orchestrator APK
APK ตัวที่ 3 และ 4 ดูได้จาก command line ตอนใช้งานดังนี้ [code] Download https://dl.google.com/dl/android/maven2/com/android/support/test/services/test-services/1.0.1/test-services-1.0.1.apk Download https://dl.google.com/dl/android/maven2/com/android/support/test/orchestrator/1.0.1/orchestrator-1.0.1.apk [/code]

มาลองใช้งานกันดีกว่า

ขั้นตอนที่ 1 เปิดใช้งานด้วยการเพิ่ม dependency และ configuration ใน build.gradle [gist id="43a7e30d6107680344e2c0db8726d117" file="build.gradle"] ขั้นตอนที่ 2 ทำการ run แบบง่าย ๆ ผ่าน command line ด้วยคำสั่ง [code] $./gradlew connectedCheck [/code] เพียงเท่านี้ก็ใช้งาน Android Test Orchestrator ได้แล้ว ขอให้สนุกกับการ coding นะครับ

Viewing all articles
Browse latest Browse all 1997

Trending Articles