สำหรับ Android 11 ขึ้นไป โมดูลตัวช่วยการโต้ตอบกับอุปกรณ์ของชุดเครื่องมือทดสอบความเข้ากันได้ (CTS) จะช่วยให้คุณปรับแต่งวิธีที่การทดสอบ CTS บางรายการโต้ตอบกับอินเทอร์เฟซผู้ใช้ (UI) ในอุปกรณ์ที่เฉพาะเจาะจงได้ ซึ่งหมายความว่าการดำเนินการต่างๆ เช่น การแทนที่องค์ประกอบ UI ที่ไม่ได้ระบุไว้ใน เอกสารคำจำกัดความความเข้ากันได้ของ Android (CDD) หรือเอกสาร API สามารถทำได้ในขณะที่ยังคงผ่าน CTS
OEM ที่ต้องการปรับแต่ง UI ของ Android ในระหว่างการพัฒนาผลิตภัณฑ์และต้องผ่าน CTS อาจใช้โมดูลตัวช่วยได้ หากใช้การติดตั้งใช้งาน Android เริ่มต้น คุณก็ไม่ต้องดำเนินการใดๆ เพิ่มเติม
การติดตั้งใช้งานโมดูลผู้ช่วย
ข้อกำหนดในการปรับแต่ง UI
ตรวจสอบข้อกำหนด UI ในโมดูล CDD หรือ Mainline หาก UI ที่ต้องการ ครอบคลุมโดยโมดูล CDD หรือ Mainline คุณจะปรับแต่ง UI นั้นไม่ได้
หากการทดสอบ CTS ที่โต้ตอบกับ UI ที่ต้องการไม่ได้ใช้เฟรมเวิร์กตัวช่วย UI นั้นจะปรับแต่งไม่ได้ ทำงานร่วมกับเจ้าของการทดสอบเพื่อแปลงโมดูลการทดสอบก่อนที่จะเปลี่ยน UI ได้
หรือจะปรับแต่ง UI ก็ได้
เวิร์กโฟลว์การติดตั้งใช้งาน
- ปรับแต่ง UI ตามความจำเป็นสำหรับผลิตภัณฑ์ที่เฉพาะเจาะจง
- กำหนดให้โมดูลตัวช่วย AOSP ที่มีอยู่เป็นคลาสย่อยสำหรับโมดูลทดสอบ CTS ที่ต้องโต้ตอบกับ UI แทนที่การโต้ตอบที่จำเป็น
อย่างเหมาะสมสำหรับ UI ที่กำหนดเอง การแทนที่จะแตกต่างกันไปตาม
ประเภทของการเปลี่ยนแปลง
- คลาสย่อยของ OEM อยู่ในแพ็กเกจ OEM เช่น
com.[oem].cts.helpers - คลาสย่อย OEM แต่ละคลาสจะมีคำนำหน้าที่ใช้ร่วมกันซึ่งจะแยกความแตกต่าง
จากการใช้งาน AOSP ซึ่งมีคำนำหน้าเป็น
Default
- คลาสย่อยของ OEM อยู่ในแพ็กเกจ OEM เช่น
- สร้างโปรแกรมช่วยเหลือเป็น APK โดยทำตามข้อกำหนดของโปรแกรมเรียกใช้การทดสอบต่อไปนี้
Android.bpควรประกาศandroid_test_helper_appโดยใช้ชื่อเดียวกับแพ็กเกจที่อยู่ในนั้นAndroidManifest.xmlสำหรับ APK ต้องประกาศพร็อพเพอร์ตี้ข้อมูลเมตา ชื่อinteraction-helpers-prefixที่มีค่าของคำนำหน้าคลาส ที่เลือกในหัวข้อย่อยก่อนหน้า- แอปควรขึ้นอยู่กับ
cts-helpers-core,cts-helpers-interfacesและcom.android.cts.helpers.aospหากผู้ช่วย OEM ใช้ อินเทอร์เฟซที่เกี่ยวข้องทั้งหมดอย่างเต็มรูปแบบcom.android.cts.helpers.aospจะ ไม่บังคับ
- ตั้งค่าพร็อพเพอร์ตี้
ro.vendor.cts_interaction_helper_packagesใน รูปภาพอุปกรณ์ให้มีชื่อของ APK หากต้องการแยกการติดตั้งใช้งานตัวช่วยใน APK หลายรายการ พร็อพเพอร์ตี้นี้จะมีรายการแพ็กเกจที่คั่นด้วยเครื่องหมายโคลอน - ตรวจสอบว่า APK อยู่ในไดเรกทอรี
testcasesเมื่อเรียกใช้ Tradefed สำหรับ CTS หากจำเป็น ให้ยืนยันว่าได้เลือกคลาสการติดตั้งใช้งาน Helper ที่คาดไว้ โดยตรวจสอบข้อความ Logcat - ไม่บังคับ แต่แนะนำเป็นอย่างยิ่ง: ส่งการติดตั้งใช้งานตัวช่วยไปยัง AOSP หรือทำให้พร้อมสำหรับการทดสอบของบุคคลที่สาม
ตัวอย่างการใช้งานตัวช่วย
เช่น CtsPrintTestCases คาดหวังให้ผู้ช่วยมีอินเทอร์เฟซที่กำหนดไว้
ใน ICtsPrintHelper การใช้งาน AOSP เรียกว่า
com.android.cts.helpers.aosp.DefaultCtsPrintHelper
หากปรับแต่ง UI การพิมพ์ คุณจะสร้าง
com.oem.cts.helpers.OemCtsPrintHelperที่คลาสย่อย DefaultCtsPrintHelper ได้
android_test_helper_app ใน Android.bp มีชื่อว่า com.oem.cts.helpers
ซึ่งสร้าง com.oem.cts.helpers.apk
และประกาศ interaction-helpers-prefix เป็น Oem ใน AndroidManifest.xml
ตั้งค่าพร็อพเพอร์ตี้อุปกรณ์ ro.vendor.cts_interaction_helper_packages เป็น
com.oem.cts.helpers
การใช้งานอ้างอิง
การติดตั้งใช้งานอ้างอิงประกอบด้วยอินเทอร์เฟซภายใต้ cts/libs/helpers และ
ตัวช่วย AOSP เริ่มต้นภายใต้ cts/helpers อินเทอร์เฟซระดับบนสุดมีเอกสารประกอบ
ใน
cts/libs/helpers/core/src/com/android/cts/helpers/ICtsDeviceInteractionHelper.java
หากต้องการเชื่อมต่อการทดสอบ CTS กับโปรแกรมช่วยเหลือ เจ้าของการทดสอบสามารถใช้@Rule
คำจำกัดความที่ระบุไว้ใน
cts/libs/helpers/core/src/com/android/cts/helpers/DeviceInteractionHelperRule.java
โมดูล CTS แต่ละโมดูลที่ใช้เฟรมเวิร์กและลักษณะการทำงานของตัวช่วยที่คาดไว้
จะได้รับการบันทึกไว้ในอินเทอร์เฟซที่กำหนดไว้ใน
cts/libs/helpers/core/src/com/android/cts/helpers
กำลังทดสอบ CTS
การทดสอบโดยไม่มีผู้ช่วย
นอกเหนือจากพร็อพเพอร์ตี้หนึ่งแล้ว ตัวเลือกในการทดสอบโดยไม่มีตัวช่วยจะไม่มีอยู่ที่ รันไทม์ในอุปกรณ์ แต่จะแก้ไขวิธีที่การทดสอบ CTS โต้ตอบกับ อุปกรณ์โดยไม่บังคับ หากต้องการเรียกใช้ CTS โดยไม่มีการติดตั้งใช้งาน Helper คุณมี 2 ตัวเลือกดังนี้
- นำพร็อพเพอร์ตี้
ro.vendor.cts_interaction_helper_packagesออกจากอุปกรณ์ ซึ่งจะทำให้ใช้ตัวช่วยในบิลด์นั้นไม่ได้เลย - นำ APK ของโปรแกรมช่วยเหลือออกจากไดเรกทอรี
testcasesก่อนเรียกใช้ CTS การดำเนินการนี้จะป้องกันไม่ให้มีการใช้โปรแกรมช่วยเหลือในการเรียกใช้จนกว่าจะมีการกู้คืน APK ไปยังtestcases
คุณสามารถเปลี่ยนการตั้งค่าเริ่มต้นได้ด้วยอาร์กิวเมนต์ Tradefed และการควบคุมพร็อพเพอร์ตี้ ro.vendor.cts_interaction_helper_packages
ซึ่งเป็นตำแหน่งที่โหลด APK ของโปรแกรมช่วยเหลือ
ดูค่าหรือช่วงที่คาดไว้สำหรับแต่ละการตั้งค่าที่มีอยู่ได้ที่ด้านล่าง
ro.vendor.cts_interaction_helper_packagesคือสตริงที่คั่นด้วยเครื่องหมายโคลอน ซึ่งมีชื่อแพ็กเกจ โดยสามารถใช้ค่าใดก็ได้ที่เป็นตัวเลือกแพ็กเกจที่ถูกต้องสำหรับการติดตั้งใช้งานตัวช่วยของ OEMcts-tradefedยอมรับอาร์กิวเมนต์device-interaction-helper:property-nameซึ่งจะเปลี่ยนพร็อพเพอร์ตี้ที่คาดไว้ชั่วคราวสำหรับการทดสอบ 1 ครั้ง เช่น--module-arg 'CtsPrintTestCases:{device-interaction-helper}property-name:debug.cts.hlp'ค่าของชื่อพร็อพเพอร์ตี้อาจเป็นพร็อพเพอร์ตี้ใดก็ได้ที่คุณตั้งค่าไว้ในอุปกรณ์ ค่าของพร็อพเพอร์ตี้เป็นไปตามข้อจํากัดเดียวกันกับพร็อพเพอร์ตี้ro.vendor.cts_interaction_helper_packagesที่อธิบายไว้ข้างต้น
การทดสอบด้วยการปรับแต่ง
โดยค่าเริ่มต้น การใช้งานอ้างอิงจะผ่าน CTS ใน Android ที่มาพร้อมเครื่อง ตรวจสอบว่าการติดตั้งใช้งานของพาร์ทเนอร์ผ่าน CTS พร้อมการปรับแต่ง UI เรียกใช้โมดูล CTS ที่ครอบคลุม UI หรือฟีเจอร์ที่คุณปรับแต่ง
โมดูลหรือตัวช่วย CTS บางอย่างอาจยังไม่รองรับการปรับแต่งบางอย่าง
- โมดูล CTS ที่โต้ตอบกับ UI ที่คุณต้องการปรับแต่งอาจไม่ใช้เฟรมเวิร์กตัวช่วย คาดว่าโมดูล CTS จะแปลงเป็น เฟรมเวิร์กตัวช่วยตามความต้องการและลำดับความสำคัญของเจ้าของการทดสอบ ส่งคำขอไฟล์ สำหรับการแปลงในช่วงต้นของกระบวนการเพื่อให้แน่ใจว่าการแปลง จะอยู่ในกำหนดการ เช่นเดียวกับการขอเปลี่ยนแปลง CTS เพื่อรองรับฟีเจอร์ที่คุณวางแผนไว้
- ฟังก์ชันที่ผู้ช่วยที่มีอยู่ให้มาอาจไม่ตอบโจทย์การปรับแต่งที่คุณต้องการทำ ฟังก์ชันตัวช่วยควรซ่อนทรัพยากร Dependency ของ UI หากฟังก์ชันตัวช่วยมีการอ้างอิง UI โดยอ้อม คุณสามารถจัดการปัญหานี้ได้ในลักษณะเดียวกับข้อบกพร่องใน CTS