Complete Automotive Tests in a Box (CATBox) เป็นแพ็คเกจโอเพ่นซอร์สที่ให้เฟรมเวิร์กและเครื่องมือที่จำเป็นในการปรับปรุงและดำเนินการทดสอบยานยนต์ด้วยการกำหนดค่าขั้นต่ำ CATBox สามารถปรับขนาดได้และเข้ากันได้กับเครื่องมือ โครงสร้างพื้นฐาน และการทดสอบที่คุณใช้เพื่อทดสอบและตรวจสอบการใช้งาน Android Automotive OS (AAOS) ของคุณ เป็นผลให้คุณสามารถนำเสนอผลิตภัณฑ์คุณภาพสูงสู่ตลาดได้
การออกแบบและการใช้งาน CATBox
ชุดทดสอบ CATBox มีเครื่องมือ เฟรมเวิร์ก และการทดสอบที่จำเป็นในการดำเนินการทดสอบการทำงานและประสิทธิภาพบนอุปกรณ์เป้าหมายของยานยนต์และในขณะที่ใช้อุปกรณ์คู่กัน
รูปภาพต่อไปนี้แสดงการออกแบบระดับสูงของแพ็คเกจ CATBox
รูปที่ 1 แพ็คเกจ CATBox
ซื้อขายแล้ว
Tradefed เป็นเฟรมเวิร์กการทดสอบต่อเนื่องแบบโอเพ่นซอร์สที่ใช้ในการทดสอบบนอุปกรณ์ Android สำหรับรายละเอียด โปรดดู ภาพรวมของสหพันธ์การค้า
กรอบการทดสอบยานยนต์
CATBox ขึ้นอยู่กับเฟรมเวิร์กการทดสอบยานยนต์ที่เรียกว่า Spectatio ซึ่งมี API สำหรับการทดสอบแอปต่างๆ บนอุปกรณ์ยานยนต์ มันถูกสร้างขึ้นบน UI Automator ซึ่งเป็นเฟรมเวิร์กการทดสอบโอเพ่นซอร์สที่ให้ชุด API เพื่อสร้างการทดสอบ UI ที่โต้ตอบกับผู้ใช้และแอปพลิเคชันระบบ
ดาวน์โหลดชุดทดสอบ CATBox
แอนดรอยด์ 14
Android Automotive 14 เป็นการเปิดตัวของหลักชัยสำคัญในการพัฒนาที่มีชื่อรหัสว่า U ใช้ลิงก์ต่อไปนี้เพื่อดาวน์โหลดชุดทดสอบ CATBox สำหรับ Android 14:
แอนดรอยด์ 12
Android 12 เป็นการเปิดตัวของหลักชัยสำคัญในการพัฒนาที่มีชื่อรหัสว่า S ใช้ลิงก์ต่อไปนี้เพื่อดาวน์โหลดชุดทดสอบ CATBox สำหรับ Android 12:
แอนดรอยด์ 11
Android 11 คือการเปิดตัวของเหตุการณ์สำคัญในการพัฒนาที่มีชื่อรหัสว่า R ใช้ลิงก์ต่อไปนี้เพื่อดาวน์โหลดชุดทดสอบ CATBox สำหรับ Android 11:
สร้าง CATBox
ใช้คำสั่ง catbox
build เมื่อโค้ด Android AOSP พร้อมใช้งานบนเวิร์กสเตชันในพื้นที่
วิธีสร้างแพ็คเกจ CATBox ในเครื่อง:
เลือกเป้าหมายอุปกรณ์ตามสถาปัตยกรรมอุปกรณ์และรันคำสั่งต่อไปนี้:
lunch <target>
ในการสร้าง CATBox ให้รันคำสั่งต่อไปนี้:
make catbox
คำสั่งนี้สร้างไฟล์
android-catbox.zip
ในไดเร็กทอรี/out/host/linux-x86/catbox
ซึ่งจากนั้นสามารถใช้เพื่อรันการทดสอบได้
ตั้งค่าสภาพแวดล้อม
การตั้งค่าสภาพแวดล้อมที่จำเป็นในการดำเนินการทดสอบ CATBox นั้นคล้ายคลึงกับ การตั้งค่า CTS ในการตั้งค่าสภาพแวดล้อม ให้ทำงานแต่ละงานต่อไปนี้ให้เสร็จสิ้น:
ติดตั้ง ADB และ AAPT
ติดตั้ง JDK. ดู ชุดพัฒนา Java สำหรับ Ubuntu
เพิ่มขีดจำกัดหน่วยความจำ ดู ข้อกำหนดในการจัดเก็บ
ตั้งค่าและเรียกใช้ CATBox
ใช้เฟรมเวิร์กการทดสอบ Tradefed เพื่อทำการทดสอบบนอุปกรณ์ Android ก่อนที่คุณจะตั้งค่า CATBox โปรดดู ภาพรวมของสหพันธ์การค้า
หากต้องการตั้งค่าและเรียกใช้ CATBox โปรดดูส่วนด้านล่าง
ตั้งค่าอุปกรณ์
ก่อนที่จะรันแผนการทดสอบ ให้ทำตามขั้นตอนต่อไปนี้เพื่อตั้งค่าอุปกรณ์ของคุณ:
ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งทั้ง Android Debug Bridge (adb) และ Android Asset Packaging Tool (AAPT) เวอร์ชันล่าสุด รวมถึงเพิ่มตำแหน่งของเครื่องมือเหล่านี้ในเส้นทางระบบของเครื่องของคุณ สำหรับรายละเอียด โปรดดู ADB และ AAPT
เชื่อมต่ออุปกรณ์อย่างน้อยหนึ่งเครื่องและเตรียมอุปกรณ์ภายใต้การทดสอบ (DUT) ดังนี้:
หากต้องการรีเซ็ตอุปกรณ์รถยนต์เป็นค่าเริ่มต้นจากโรงงาน ให้ไปที่ การตั้งค่า > ระบบ > ตัวเลือกการรีเซ็ต > ลบข้อมูลทั้งหมด
รอให้อุปกรณ์รีสตาร์ทโดยอัตโนมัติ
ตรวจสอบให้แน่ใจว่าเปิดใช้งาน adb แล้ว เพื่อยืนยันว่าอุปกรณ์พร้อมใช้งาน ให้รันคำสั่งต่อไปนี้:
adb devices
หากต้องการเปิดใช้งานรูทให้รันคำสั่งต่อไปนี้:
adb -s DEVICE_SERIAL root
แทนที่
DEVICE_SERIAL
ด้วย Serial ID สำหรับอุปกรณ์ในรถยนต์เชื่อมต่อกับ Wi-Fi
แยกแพ็คเกจ CATBox
หลังจากตั้งค่าอุปกรณ์แล้ว ให้แตกไฟล์แพ็คเกจ CATBox และไปที่โฟลเดอร์ที่แตกออกมา:
unzip android-catbox.zip
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 | การทดสอบการทำงาน |
catbox-functional-app-info-setting | ข้อมูลแอปการตั้งค่าการทดสอบการทำงาน |
catbox-functional-admin-user-grant-permissions | ผู้ดูแลระบบให้สิทธิ์การทดสอบการทำงาน |
catbox-functional-app-info-setting-ui-elements | ข้อมูลแอปการตั้งค่าการทดสอบการทำงาน |
catbox-functional-appgrid | การทดสอบการทำงานของกริดแอป |
catbox-functional-base | รายการการทดสอบการทำงาน |
catbox-functional-bluetooth-audio | การทดสอบการทำงานของเสียง Bluetooth |
catbox-functional-bluetooth-palette | การทดสอบการทำงานของแถบสถานะ |
catbox-functional-bluetooth-tests | การทดสอบบลูทูธโดยใช้ Mobly |
catbox-functional-brightness-palette | การทดสอบการทำงานของแถบสถานะ |
catbox-functional-btmoped | การทดสอบการทำงานโดยใช้ Bluetooth Moped |
catbox-functional-date-time-setting | วันที่และเวลาการตั้งค่าการทดสอบการทำงาน |
catbox-functional-dial | การทดสอบการทำงานของหน้าปัด |
catbox-functional-display-setting | การทดสอบการทำงานของการตั้งค่าการแสดงผล |
catbox-functional-driving-optimized-apps | การทดสอบฟังก์ชันการจำกัด UX |
catbox-functional-enable-developers-option | เปิดใช้งานการทดสอบการทำงานของตัวเลือกนักพัฒนา |
catbox-functional-home | การทดสอบการทำงานที่บ้าน |
catbox-functional-lock-screen | การทดสอบการทำงานของหน้าจอล็อค |
catbox-functional-mediacenter | การทดสอบการทำงานของ Media Center |
catbox-functional-microphone-recent-apps | การทดสอบการทำงานของการตั้งค่าไมโครโฟน |
catbox-functional-microphone-setting | การทดสอบการทำงานของการตั้งค่าไมโครโฟน |
catbox-functional-multiuser | การทดสอบการทำงานของผู้ใช้หลายคน |
catbox-functional-multiuser-system-user | การทดสอบการทำงานของผู้ใช้หลายคน |
catbox-functional-navigation-bar | การทดสอบการทำงานของแถบนำทาง |
catbox-functional-network-palette | การทดสอบการทำงานของแถบสถานะ |
catbox-functional-network-setting | การทดสอบการทำงานของการตั้งค่าเครือข่าย |
catbox-functional-notification | การแจ้งเตือนการทดสอบการทำงาน |
catbox-functional-privacy-permission-manager | การทดสอบการทำงานของการตั้งค่าการอนุญาตแอปความเป็นส่วนตัว |
catbox-functional-privacy-setting | การทดสอบการทำงานของการตั้งค่าไมโครโฟน |
catbox-functional-privacy-setting-ui-elements | การทดสอบการทำงานของการตั้งค่าความเป็นส่วนตัว |
catbox-functional-profile-icon | การทดสอบการทำงานของแถบไอคอนโปรไฟล์ |
catbox-functional-profiles-icon-list | การทดสอบรายการไอคอนโปรไฟล์ |
catbox-functional-security-setting | การทดสอบการทำงานของการตั้งค่าความปลอดภัย |
catbox-functional-setting | การตั้งค่าการทดสอบการทำงาน |
catbox-functional-settings-location | การตั้งค่าการทดสอบตำแหน่ง |
catbox-functional-sound-setting | การทดสอบการทำงานของการตั้งค่าเสียง |
catbox-functional-status-bar | การทดสอบการทำงานของแถบสถานะ |
catbox-functional-storage-setting | การทดสอบการทำงานของการตั้งค่าการจัดเก็บข้อมูล |
catbox-functional-system-setting | การทดสอบการทำงานของการตั้งค่าระบบ |
catbox-functional-systemui | การทดสอบ UI ของระบบ |
catbox-functional-ux-restriction | การทดสอบฟังก์ชันการจำกัด UX |
catbox-functional-ux-restriction-facet-bar | การทดสอบฟังก์ชันการจำกัด UX |
ตารางต่อไปนี้แสดงรายการแผนการทดสอบ ประสิทธิภาพ CATBox
แผนการทดสอบประสิทธิภาพ | คำอธิบาย |
---|---|
catbox-performance-cold-app-start-up-dialer | การทดสอบประสิทธิภาพการเริ่มต้นแอปเย็นสำหรับ Dialer และ Phone |
catbox-performance-cold-app-start-up-mediacenter | การทดสอบประสิทธิภาพการเริ่มต้นแอปเย็นสำหรับ Media Center |
catbox-performance-cold-app-start-up-settings | การทดสอบประสิทธิภาพการเริ่มต้นแอปเย็นสำหรับการตั้งค่า |
catbox-performance-create-and-switch-to-new-guest | วัดเวลาในการตอบสนองเพื่อเปลี่ยนไปใช้แขกรายใหม่ |
catbox-performance-create-and-switch-to-new-user | วัดเวลาในการตอบสนองเพื่อเปลี่ยนไปใช้ผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบรายใหม่ |
catbox-performance-hot-app-start-up-dialer | การทดสอบประสิทธิภาพการเริ่มต้นแอปยอดนิยมสำหรับ Dialer และ Phone |
catbox-performance-hot-app-start-up-mediacenter | การทดสอบประสิทธิภาพการเริ่มต้นแอปยอดนิยมสำหรับ Media Center |
catbox-performance-hot-app-start-up-settings | การทดสอบประสิทธิภาพการเริ่มต้นแอปยอดนิยมสำหรับการตั้งค่า |
catbox-performance-jank-appgrid | การทดสอบประสิทธิภาพสำหรับ Appgrid |
catbox-performance-jank-contact-list | การทดสอบประสิทธิภาพสำหรับผู้ติดต่อ |
catbox-performance-jank-media | การทดสอบประสิทธิภาพสำหรับสื่อ |
catbox-performance-jank-media-switch-playback | การทดสอบประสิทธิภาพสำหรับการเล่นสวิตช์มีเดีย |
catbox-performance-jank-notifications | การทดสอบประสิทธิภาพสำหรับการแจ้งเตือน |
catbox-performance-jank-settings | การทดสอบประสิทธิภาพสำหรับการตั้งค่า |
catbox-performance-switch-to-existing-user | วัดเวลาแฝงเพื่อเปลี่ยนไปใช้ผู้ใช้ที่มีอยู่ |
รันการทดสอบฝั่งโฮสต์หลายอุปกรณ์
การดำเนินการทดสอบฝั่งโฮสต์หลายอุปกรณ์ใช้ CATBox เพื่อรันการทดสอบในเซสชันเดียว ตัวอย่างเช่น BTDiscoveryTest
:
make catbox
./tools/catbox-tradefed run commandAndExit catbox-functional-bluetooth-tests --{phone}serial <serial> --{auto}serial <serial> --mobly-host:mobly-par-file-name BTDiscoveryTest
CATBox ติดตั้ง apk
จากนั้นทำการทดสอบในสภาพแวดล้อมการดำเนินการ Python ที่ถูกต้อง
ตรวจสอบผลการทดสอบ CATBox
ผลลัพธ์ของการทดสอบการทำงานและประสิทธิภาพจะถูกบันทึกไว้ใน android-catbox/results/latest
ประเภทผลลัพธ์ | ที่ตั้ง |
---|---|
ผลการทดสอบ | test_result.xml |
รายละเอียดการทดสอบความล้มเหลว | test_result_failures_suite.html |
ผลลัพธ์การวัดประสิทธิภาพ | /report-log-files/CatboxPerformanceTests.reportlog.json |
การทดสอบการทำงานและประสิทธิภาพการทำงาน | /android-catbox/logs/latest |