การทดสอบยานยนต์ที่สมบูรณ์ใน Box (CATBox) เป็นแพ็กเกจโอเพนซอร์สที่ มีเฟรมเวิร์กและเครื่องมือที่จำเป็นในการเพิ่มประสิทธิภาพและดำเนินการยานยนต์ ด้วยการกำหนดค่าขั้นต่ำ CATBox สามารถปรับขนาดได้และเข้ากันได้กับ เครื่องมือ โครงสร้างพื้นฐาน และการทดสอบที่คุณใช้เพื่อทดสอบและตรวจสอบ Android ของคุณ การติดตั้งใช้งาน Automotive OS (AAOS) ด้วยเหตุนี้ คุณสามารถให้ ผลิตภัณฑ์ไว้ในตลาดกลาง
การออกแบบและการใช้ CATBox
ชุดทดสอบ CATBox มีเครื่องมือ เฟรมเวิร์ก และการทดสอบที่จำเป็นต่อการ ทำการทดสอบการทำงานและประสิทธิภาพในอุปกรณ์เป้าหมายยานยนต์ และ ขณะใช้อุปกรณ์ร่วม
ภาพต่อไปนี้แสดงการออกแบบระดับสูงของแพ็กเกจ CATBox
รูปที่ 1 แพ็กเกจ CATBox
ซื้อขาย
Tradefed เป็นเฟรมเวิร์กการทดสอบอย่างต่อเนื่องแบบโอเพนซอร์สที่ใช้เพื่อทำการทดสอบ อุปกรณ์ Android ดูรายละเอียดได้ที่ภาพรวมของสหพันธ์การค้า
เฟรมเวิร์กการทดสอบยานยนต์
CATBox จะอิงตามเฟรมเวิร์กการทดสอบยานยนต์ที่เรียกว่า Spectatio ซึ่งมี API สำหรับการทดสอบ แอปต่างๆ บนอุปกรณ์รถยนต์ เราสร้างไว้ที่ด้านบน จาก โปรแกรมดำเนินการ UI อัตโนมัติ เฟรมเวิร์กการทดสอบโอเพนซอร์สที่มอบชุด API สำหรับสร้างการทดสอบ UI ที่โต้ตอบกับแอปพลิเคชันระบบและผู้ใช้
ดาวน์โหลดชุดทดสอบ CATBox
Android 14
Android Automotive 14 เป็นรุ่นของ เป้าหมายการพัฒนา โดยมีชื่อรหัสว่า U ใช้ลิงก์ต่อไปนี้เพื่อดาวน์โหลด ชุดทดสอบ CATBox สำหรับ Android 14:
Android 12
Android 12 เป็นการเปิดตัวความก้าวหน้าของการพัฒนา ที่ชื่อว่า S ใช้ลิงก์ต่อไปนี้เพื่อดาวน์โหลดชุดทดสอบ CATBox สำหรับ Android 12
Android 11
Android 11 เป็นการเปิดตัวเหตุการณ์สำคัญของการพัฒนาที่ชื่อว่า R ใช้เมนู ลิงก์ต่อไปนี้เพื่อดาวน์โหลดชุดทดสอบ CATBox สำหรับ Android 11
สร้าง CATBox
ใช้คำสั่งบิลด์ catbox
เมื่อมีโค้ด Android AOSP พร้อมใช้งานใน
เวิร์กสเตชันท้องถิ่น
วิธีสร้างแพ็กเกจ CATBox ภายในเครื่อง
เลือกเป้าหมายอุปกรณ์ตามสถาปัตยกรรมของอุปกรณ์และเรียกใช้ คำสั่งต่อไปนี้
lunch <target>
ในการสร้าง 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 Packing Tool (AAPT) รวมทั้งได้เพิ่มตำแหน่งของเครื่องมือเหล่านี้ลงในเส้นทางระบบของ อุปกรณ์ โปรดดูรายละเอียดที่หัวข้อ ADB และ AAPT
เชื่อมต่ออุปกรณ์อย่างน้อย 1 เครื่องและเตรียมอุปกรณ์ภายใต้การทดสอบ (DUT) เป็น ดังต่อไปนี้:
หากต้องการรีเซ็ตอุปกรณ์ยานยนต์เป็นค่าเริ่มต้น ให้ไปที่ การตั้งค่า > ระบบ > ตัวเลือกการรีเซ็ต > ลบข้อมูลทั้งหมด
รอให้อุปกรณ์รีสตาร์ทโดยอัตโนมัติ
ตรวจสอบว่าเปิดใช้ adb แล้ว หากต้องการยืนยันว่าอุปกรณ์พร้อมใช้งาน ให้เรียกใช้ คำสั่งต่อไปนี้
adb devices
หากต้องการเปิดใช้รูท ให้เรียกใช้คำสั่งต่อไปนี้
adb -s DEVICE_SERIAL root
แทนที่
DEVICE_SERIAL
ด้วยรหัสซีเรียลสำหรับ อุปกรณ์ยานยนต์เชื่อมต่อ 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
ด้วยรหัสซีเรียลสำหรับ
อุปกรณ์ยานยนต์ หากมีอุปกรณ์หลายเครื่องเชื่อมต่อกับเครื่องที่เป็นโฮสต์
ใช้ 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 |
การทดสอบการทำงานของเสียงบลูทูธ |
catbox-functional-bluetooth-palette |
การทดสอบการทำงานของแถบสถานะ |
catbox-functional-bluetooth-tests |
การทดสอบบลูทูธโดยใช้ Mobly |
catbox-functional-brightness-palette |
การทดสอบการทำงานของแถบสถานะ |
catbox-functional-btmoped |
การทดสอบการทำงานโดยใช้บลูทูธ 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 |
การทดสอบการทำงานของศูนย์สื่อ |
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 |
การทดสอบประสิทธิภาพการเริ่มต้นแอป Cold สำหรับแป้นโทรศัพท์และโทรศัพท์ |
catbox-performance-cold-app-start-up-mediacenter |
การทดสอบประสิทธิภาพการเริ่มต้นแอป Cold สำหรับ Media Center |
catbox-performance-cold-app-start-up-settings |
การทดสอบประสิทธิภาพการเริ่มต้นแอปแบบ Cold สำหรับการตั้งค่า |
catbox-performance-create-and-switch-to-new-guest |
วัดเวลาในการตอบสนองเพื่อเปลี่ยนไปเป็นผู้เข้าร่วมรายใหม่ |
catbox-performance-create-and-switch-to-new-user |
วัดเวลาในการตอบสนองเพื่อเปลี่ยนไปใช้ผู้ใช้ใหม่ที่ไม่ใช่ผู้ดูแลระบบ |
catbox-performance-hot-app-start-up-dialer |
การทดสอบประสิทธิภาพการเริ่มต้นแอปยอดนิยมสำหรับแป้นโทรศัพท์และโทรศัพท์ |
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 |
การทดสอบประสิทธิภาพของ Contacts |
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 |