โหมด Test Harness เป็นฟีเจอร์ที่เพิ่มเข้ามาใน Android 10 สำหรับนักพัฒนาแอปบุคคลที่สามที่ต้องการทำให้อุปกรณ์หรือกลุ่มอุปกรณ์ทำงานอัตโนมัติ ฟีเจอร์นี้มีวิธีการล้างข้อมูลผู้ใช้ทั้งหมดในอุปกรณ์ Android, เก็บคีย์ ADB ไว้ และข้ามหน้าจอการตั้งค่าครั้งแรกทั้งหมด ซึ่งจะช่วยให้ผู้ใช้ทำการทดสอบ UI ได้ทันทีหลังจากการเริ่มต้นโดยไม่ต้องมีการโต้ตอบใดๆ ด้วยตนเอง
การปรับแต่ง
คุณตรวจสอบได้ว่าอุปกรณ์อยู่ในโหมดโปรแกรมทดสอบอัตโนมัติหรือไม่โดยดูที่ ActivityManager.isRunningInUserTestHarness()
ปรับแต่งให้น้อยที่สุด โดยจำกัดให้ปรับแต่งเฉพาะสิ่งต่างๆ เช่น การข้ามหน้าจอการตั้งค่า (บนแป้นพิมพ์หรือวิซาร์ดการตั้งค่า) ที่อาจทำให้การทดสอบ UI ใช้งานไม่ได้ หรือต้องมีการโต้ตอบด้วยตนเอง
การใช้งาน
การใช้งาน PersistentDataBlockManagerInternal
เริ่มต้นอยู่ใน PersistentDataBlockService
มีการใช้โหมดโปรแกรมทดสอบอัตโนมัติใน TestHarnessModeService
การใช้งานโหมดโปรแกรมทดสอบอัตโนมัติเริ่มต้นจะใช้กลไกพื้นที่เก็บข้อมูลเดียวกับการป้องกันการรีเซ็ตเป็นค่าเริ่มต้นเพื่อจัดเก็บคีย์ adb ไว้ชั่วคราวในพาร์ติชันถาวร หากมีการใช้พาร์ติชันถาวรที่มีการป้องกันการรีเซ็ตเป็นค่าเริ่มต้นในอุปกรณ์ทดสอบอยู่แล้ว คุณก็แทบไม่ต้องดำเนินการใดๆ เพื่อรองรับฟีเจอร์นี้
OEM ที่ไม่ได้ตั้งค่าพาร์ติชันถาวรต้องใช้
PersistentDataBlockManagerInternal
ก่อนเรียกใช้
TestHarnessModeService
ตรวจสอบสถานะโหมดโปรแกรมทดสอบอัตโนมัติ
เมื่อเปิดใช้โหมดโปรแกรมทดสอบอัตโนมัติ
ActivityManager.isRunningInUserTestHarness()
จะแสดงผลเป็น true
เรียกใช้โหมดโปรแกรมทดสอบอัตโนมัติ
การเปิดใช้โหมดโปรแกรมทดสอบอัตโนมัติจะล้างข้อมูลทั้งหมดออกจากอุปกรณ์และตั้งค่าอุปกรณ์สำหรับการทดสอบ ซึ่งหมายความว่าระบบจะปิดใช้ส่วนต่างๆ ทั้งหมดของอุปกรณ์ที่อาจรบกวนการทดสอบ (เช่น การซิงค์บัญชีโดยอัตโนมัติ การยืนยันแพ็กเกจ และการอัปเดตอัตโนมัติ) โดยค่าเริ่มต้น แต่ผู้ใช้สามารถเปิดใช้ส่วนต่างๆ เหล่านั้นอีกครั้งได้
เรียกใช้คําสั่ง adb
เพื่อเปิดใช้โหมดโปรแกรมทดสอบอัตโนมัติ
adb shell cmd testharness enable