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 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
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
เชื่อมต่ออุปกรณ์อย่างน้อย 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 |
การทดสอบการทำงานที่ใช้รถจักรยานยนต์ไฟฟ้าที่เชื่อมต่อบลูทูธ |
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 และโทรศัพท์ |
catbox-performance-cold-app-start-up-mediacenter |
การทดสอบประสิทธิภาพการเริ่มต้นแอปแบบ Cold Start สำหรับ 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 และโทรศัพท์ |
catbox-performance-hot-app-start-up-mediacenter |
การทดสอบประสิทธิภาพการเริ่มต้นแอปที่ใช้งานบ่อยสำหรับ Media Center |
catbox-performance-hot-app-start-up-settings |
การทดสอบประสิทธิภาพการเริ่มต้นแอปแบบ Hot สำหรับการตั้งค่า |
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 |