ทำการทดสอบยานยนต์ให้เสร็จสิ้นได้ในกล่อง

การทดสอบยานยนต์ที่สมบูรณ์ใน Box (CATBox) เป็นแพ็กเกจโอเพนซอร์สที่ มีเฟรมเวิร์กและเครื่องมือที่จำเป็นในการเพิ่มประสิทธิภาพและดำเนินการยานยนต์ ด้วยการกำหนดค่าขั้นต่ำ CATBox สามารถปรับขนาดได้และเข้ากันได้กับ เครื่องมือ โครงสร้างพื้นฐาน และการทดสอบที่คุณใช้เพื่อทดสอบและตรวจสอบ Android ของคุณ การติดตั้งใช้งาน Automotive OS (AAOS) ด้วยเหตุนี้ คุณสามารถให้ ผลิตภัณฑ์ไว้ในตลาดกลาง

การออกแบบและการใช้ CATBox

ชุดทดสอบ 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 ภายในเครื่อง

  1. เลือกเป้าหมายอุปกรณ์ตามสถาปัตยกรรมของอุปกรณ์และเรียกใช้ คำสั่งต่อไปนี้

    lunch <target>
    
  2. ในการสร้าง CATBox ให้เรียกใช้คำสั่งต่อไปนี้

    make catbox
    

    คำสั่งนี้จะสร้างไฟล์ android-catbox.zip ใน /out/host/linux-x86/catbox ซึ่งใช้เพื่อทำการทดสอบได้

ตั้งค่าสภาพแวดล้อม

การตั้งค่าสภาพแวดล้อมที่จำเป็นสำหรับการดำเนินการทดสอบ CATBox จะคล้ายกับ การตั้งค่า CTS วิธีตั้งค่า ทำงานต่อไปนี้ให้เสร็จ

ตั้งค่าและเรียกใช้ CATBox

ใช้เฟรมเวิร์กการทดสอบ Tradefed เพื่อทำการทดสอบในอุปกรณ์ Android ก่อนคุณ ตั้งค่า CATBox ได้โดยดูที่ภาพรวมของสหพันธ์การค้า

หากต้องการตั้งค่าและเรียกใช้ CATBox โปรดดูส่วนด้านล่าง

ตั้งค่าอุปกรณ์

ก่อนใช้งานแผนการทดสอบ ให้ทำตามขั้นตอนต่อไปนี้เพื่อตั้งค่าอุปกรณ์

  1. ตรวจสอบว่าคุณได้ติดตั้งเวอร์ชันล่าสุดของ Android Debug Bridge (adb) และ Android Asset Packing Tool (AAPT) รวมทั้งได้เพิ่มตำแหน่งของเครื่องมือเหล่านี้ลงในเส้นทางระบบของ อุปกรณ์ โปรดดูรายละเอียดที่หัวข้อ ADB และ AAPT

  2. เชื่อมต่ออุปกรณ์อย่างน้อย 1 เครื่องและเตรียมอุปกรณ์ภายใต้การทดสอบ (DUT) เป็น ดังต่อไปนี้:

    1. หากต้องการรีเซ็ตอุปกรณ์ยานยนต์เป็นค่าเริ่มต้น ให้ไปที่ การตั้งค่า > ระบบ > ตัวเลือกการรีเซ็ต > ลบข้อมูลทั้งหมด

    2. รอให้อุปกรณ์รีสตาร์ทโดยอัตโนมัติ

    3. ตรวจสอบว่าเปิดใช้ adb แล้ว หากต้องการยืนยันว่าอุปกรณ์พร้อมใช้งาน ให้เรียกใช้ คำสั่งต่อไปนี้

      adb devices
      
    4. หากต้องการเปิดใช้รูท ให้เรียกใช้คำสั่งต่อไปนี้

      adb -s DEVICE_SERIAL root
      

      แทนที่ DEVICE_SERIAL ด้วยรหัสซีเรียลสำหรับ อุปกรณ์ยานยนต์

    5. เชื่อมต่อ 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