Complete Automotive Tests in a Box (CATBox) เป็นแพ็คเกจโอเพ่นซอร์สที่มีกรอบงานและเครื่องมือที่จำเป็นในการปรับปรุงประสิทธิภาพและดำเนินการทดสอบยานยนต์ด้วยการกำหนดค่าเพียงเล็กน้อย CATBox สามารถปรับขนาดและเข้ากันได้กับเครื่องมือ โครงสร้างพื้นฐาน และการทดสอบที่คุณใช้เพื่อทดสอบและตรวจสอบการใช้งาน Android Automotive OS (AAOS) ของคุณ ส่งผลให้คุณสามารถนำเสนอผลิตภัณฑ์คุณภาพสูงสู่ตลาดได้
การออกแบบและการใช้งาน CATBox
ชุดทดสอบ CATBox มีเครื่องมือ เฟรมเวิร์ก และการทดสอบที่จำเป็นในการดำเนินการทดสอบการทำงานและประสิทธิภาพบนอุปกรณ์เป้าหมายของยานยนต์
รูปภาพต่อไปนี้แสดงการออกแบบระดับสูงของแพ็คเกจ CATBox
รูปที่ 1. แพ็คเกจ CATBox
Tradefed
Tradefed เป็นเฟรมเวิร์กการทดสอบโอเพ่นซอร์สแบบต่อเนื่องที่ใช้ในการทดสอบบนอุปกรณ์ Android สำหรับรายละเอียด โปรดดู ภาพรวมสหพันธ์การค้า
กรอบการทดสอบยานยนต์
CATBox ใช้เฟรมเวิร์กการทดสอบยานยนต์ที่เรียกว่า Spectatio ซึ่งมี API สำหรับการทดสอบแอปพลิเคชันต่างๆ บนอุปกรณ์ยานยนต์ มันถูกสร้างขึ้นบน UI Automator ซึ่งเป็นเฟรมเวิร์กการทดสอบโอเพ่นซอร์สที่มีชุดของ API เพื่อสร้างการทดสอบ UI ที่โต้ตอบกับผู้ใช้และแอปพลิเคชันระบบ
ดาวน์โหลดชุดทดสอบ CATBox
Android 12
Android 12 เป็นการเปิดตัวของเหตุการณ์สำคัญในการพัฒนาที่มีชื่อรหัสว่า S ใช้ลิงก์ต่อไปนี้เพื่อดาวน์โหลดชุดทดสอบ CATBox สำหรับ Android 12:
Android 11
Android 11 เป็นการเปิดตัวของเหตุการณ์สำคัญในการพัฒนาที่มีชื่อรหัสว่า R ใช้ลิงก์ต่อไปนี้เพื่อดาวน์โหลดชุดทดสอบ CATBox สำหรับ Android 11:
สร้าง CATBox
ใช้คำสั่ง catbox
build เมื่อโค้ด Android AOSP พร้อมใช้งานบนเวิร์กสเตชันในเครื่อง ในการสร้างแพ็คเกจ CATBox ในเครื่อง:
เลือก Device Target และรันคำสั่งต่อไปนี้:
# Select Device Target Based on Device Architecture $ lunch <target>
ในการสร้าง CATBox ให้รันคำสั่งต่อไปนี้:
# Build CATBox $ make catbox
คำสั่งนี้จะสร้างไฟล์
android-catbox.zip
ในไดเร็กทอรี/out/host/linux-x86/catbox
ซึ่งสามารถใช้ในการทดสอบได้
การตั้งค่าสภาพแวดล้อม
การตั้งค่าสภาพแวดล้อมที่จำเป็นสำหรับการทดสอบ CATBox จะคล้ายกับ การตั้งค่า CTS ในการตั้งค่าสภาพแวดล้อม ให้ทำภารกิจต่อไปนี้ให้สำเร็จ:
- ติดตั้ง ADB และ AAPT
- ติดตั้ง JDK ดู Java Development Kit สำหรับ Ubuntu
- เพิ่มขีด จำกัด หน่วยความจำ ดู ข้อกำหนดการจัดเก็บ
การตั้งค่าและดำเนินการ CATBox
ใช้เฟรมเวิร์กการทดสอบของ Tradefed เพื่อเรียกใช้การทดสอบบนอุปกรณ์ Android ก่อนตั้งค่า CATBox ทำความคุ้นเคยกับ ภาพรวมของสหพันธ์การค้า
ในการตั้งค่าและเรียกใช้ CATBox ดูหัวข้อด้านล่าง
การตั้งค่าอุปกรณ์
ก่อนเรียกใช้แผนการทดสอบ ให้ทำตามขั้นตอนต่อไปนี้เพื่อตั้งค่าอุปกรณ์ของคุณ:
ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งเวอร์ชันล่าสุดของทั้ง Android Debug Bridge (adb) และ Android Asset Packaging Tool (AAPT) รวมถึงเพิ่มตำแหน่งของเครื่องมือเหล่านี้ไปยังเส้นทางระบบของเครื่องของคุณ สำหรับรายละเอียด โปรดดู ADB และ AAPT
เชื่อมต่ออุปกรณ์อย่างน้อยหนึ่งเครื่องและเตรียมอุปกรณ์ภายใต้การทดสอบ (DUT) ดังนี้:
- หากต้องการรีเซ็ตอุปกรณ์ยานยนต์เป็นค่าเริ่มต้น ให้คลิก การตั้งค่า > ระบบ > ตัวเลือกการรีเซ็ต > ลบข้อมูลทั้งหมด
- รอให้อุปกรณ์รีสตาร์ทโดยอัตโนมัติ
ตรวจสอบให้แน่ใจว่าเปิดใช้งาน adb แล้ว เพื่อยืนยันว่าอุปกรณ์พร้อมใช้งาน ให้รันคำสั่งต่อไปนี้:
$ adb devices
ในการเปิดใช้งานรูท ให้รันคำสั่งต่อไปนี้:
# Enable Root $ adb -s DEVICE_SERIAL root
แทนที่
DEVICE_SERIAL
ด้วย Serial ID สำหรับอุปกรณ์ยานยนต์เชื่อมต่อกับ Wi-Fi
แยกแพ็คเกจ CATBox
หลังจากตั้งค่าอุปกรณ์เสร็จแล้ว ให้เปิดเครื่องรูดแพ็คเกจ CATBox และไปที่โฟลเดอร์ที่แยกออกมา:
# Extract the CATBox Package
$ unzip android-catbox.zip
# Navigate to extracted CATBox Package
$ cd android-catbox
ทำการทดสอบใน CATBox
ในการรัน CATBox ด้วยแผนการทดสอบในแพ็คเกจ CATBox ให้รันสิ่งต่อไปนี้:
./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL
แทนที่ DEVICE_SERIAL
ด้วย Serial ID สำหรับอุปกรณ์ยานยนต์ หากคุณมีอุปกรณ์หลายเครื่องที่เชื่อมต่อกับเครื่องโฮสต์ ให้ใช้ DEVICE_SERIAL
เพื่อแยกความแตกต่าง แทนที่ TEST_PLAN_NAME
ด้วยชื่อของแผนการทดสอบที่คุณต้องการเรียกใช้
หากต้องการรับรายการแผนการทดสอบที่พร้อมใช้งานทั้งหมด ให้ดำเนินการดังต่อไปนี้:
./tools/catbox-tradefed list plans | grep -i catbox
ตารางต่อไปนี้แสดงแผนการทดสอบที่มีตามประเภท:
ประเภทการทดสอบ | ชื่อ |
---|---|
แผนการทดสอบการทำงาน | catbox-functional-notification catbox-functional-setting catbox-functional-dial catbox-functional-system-setting catbox-functional-app-info-setting catbox-functional-network-setting catbox-functional-security-setting catbox-functional-sound-setting catbox-functional-date-time-setting catbox-functional-appgrid catbox-functional-home catbox-functional-lock-screen catbox-functional-navigation-bar catbox-functional-ux-restriction catbox-functional-bluetooth-audio |
แผนการทดสอบประสิทธิภาพ | catbox-performance-cold-app-start-up-settings catbox-performance-hot-app-start-up-settings catbox-performance-jank-settings catbox-performance-cold-app-start-up-dialer catbox-performance-hot-app-start-up-dialer catbox-performance-jank-contact-list catbox-performance-jank-notifications catbox-performance-jank-appgrid catbox-performance-cold-app-start-up-mediacenter catbox-performance-hot-app-start-up-mediacenter catbox-performance-create-and-switch-to-new-guest catbox-performance-create-and-switch-to-new-user catbox-performance-create-and-switch-to-precreated-guest catbox-performance-create-and-switch-to-precreated-user catbox-performance-switch-to-existing-user |
ผลการทดสอบ CATBox
ผลการทดสอบจะถูกบันทึกไว้ในโฟลเดอร์ android-catbox/results/latest
สำหรับการดำเนินการทดสอบการทำงานและประสิทธิภาพ
- สำหรับผลการทดสอบ โปรดดูที่
test_result.xml
- สำหรับรายละเอียดการทดสอบความล้มเหลว โปรดดู
test_result_failures_suite.html
- สำหรับผลการวัดประสิทธิภาพ โปรดดู
CatboxPerformanceTests.reportlog.json
ในไดเร็กทอรีreport-log-files
บันทึกจะถูกบันทึกไว้ในเส้นทาง android-catbox/logs/latest
สำหรับการดำเนินการทดสอบการทำงานและประสิทธิภาพ
การทดสอบบางอย่าง เช่น การทดสอบการรบกวนของ Dial, Bluetooth Audio และ Contacts list จำเป็นต้องมีการตั้งค่าอุปกรณ์เพิ่มเติม
ทดสอบการหมุน
การทดสอบการต่อสายต้องมีการตั้งค่าอุปกรณ์และพารามิเตอร์รันไทม์ ในการตั้งค่าอุปกรณ์:
- เชื่อมต่ออุปกรณ์มือถือเข้ากับชุดเครื่องเสียงรถยนต์ผ่าน Bluetooth
- ตรวจสอบให้แน่ใจว่าโทรศัพท์ที่ใช้ทดสอบมีซิมการ์ดสำหรับทำการทดสอบการโทรและเชื่อมต่อกับเครือข่ายมือถือ
- การทดสอบการโทรใช้รายชื่อติดต่อเริ่มต้นที่จัดเก็บไว้ในโทรศัพท์ ใช้ contacts.vcf เพื่อโหลดรายชื่อในโทรศัพท์
แทนที่
COMPANION_SERIAL
ด้วย Serial ID สำหรับโทรศัพท์และเรียกใช้คำสั่งต่อไปนี้:# Contacts can be loaded on the phone by pushing the contacts.vcf file on the phone and importing it in the Contacts application. OR # Importing contacts using adb. # Push contacts VCF file to phone $ adb -s COMPANION_SERIAL push <path-to-downloaded-contacts-vcf-file> /storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf # Grant Read Permissions $ adb -s COMPANION_SERIAL shell pm grant com.google.android.contacts android.permission.READ_EXTERNAL_STORAGE # Import contacts from the VCF file $ adb -s COMPANION_SERIAL shell am start-activity -W -t 'text/x-vcard' -d file:///storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf -a android.intent.action.VIEW com.google.android.contacts # Then accept the prompts on the UI to load the contacts.
พารามิเตอร์รันไทม์
การทดสอบการโทรใช้หมายเลขโทรศัพท์ขนาดเล็กและขนาดใหญ่สำหรับการทดสอบ การทดสอบการโทรยังใช้ชื่อผู้ติดต่อและหมายเลขติดต่อสำหรับการทดสอบการค้นหา ใช้พารามิเตอร์ต่อไปนี้เพื่อให้ข้อมูลนี้:
Parameters for Large Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:large-phone-number:=< 10 digit phone number>
Parameters for Small Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:small-phone-number:=< 3 digit phone number>
Parameters for Search Contact Name:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-name:=< some contact name stored on the phone >
Parameters for Search Contact Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-number:=< contact number of the name provided in the search contact name >
การทดสอบเสียงบลูทูธ
ในการตั้งค่าอุปกรณ์สำหรับการทดสอบเสียง Bluetooth:
- ตรวจสอบให้แน่ใจว่าได้ติดตั้งแอป YouTube Music บนโทรศัพท์ และคุณลงชื่อเข้าใช้บัญชีแล้ว หากไม่ ให้ติดตั้งแอปและลงชื่อเข้าใช้บัญชี
- จับคู่โทรศัพท์ด้วยตนเองกับอุปกรณ์ในรถยนต์ผ่านบลูทูธ
- เมื่อจับคู่โทรศัพท์แล้ว ให้เล่นเพลงบนโทรศัพท์แล้วเริ่มทำการทดสอบ
รายชื่อผู้ติดต่อ jank test
ในการตั้งค่าอุปกรณ์สำหรับการทดสอบรายชื่อผู้ติดต่อ:
- ตรวจสอบให้แน่ใจว่าโทรศัพท์มีผู้ติดต่อหลายราย เพื่อให้การทดสอบสามารถเลื่อนดูรายชื่อผู้ติดต่อเพื่อรวบรวมเมตริกขยะ
- จับคู่โทรศัพท์ด้วยตนเองกับอุปกรณ์ในรถยนต์ผ่านบลูทูธ
- เมื่อจับคู่โทรศัพท์แล้ว คุณจะสามารถเข้าถึงรายชื่อติดต่อบนอุปกรณ์ได้