Hoàn thành các bài kiểm tra ô tô trong một chiếc hộp

Complete Automotive Tests in a Box (CATBox) là một gói nguồn mở cung cấp các khung và công cụ cần thiết để đơn giản hoá và thực thi các kiểm thử ô tô với cấu hình tối thiểu. CATBox có khả năng mở rộng và tương thích với các công cụ, cơ sở hạ tầng và kiểm thử mà bạn sử dụng để kiểm thử và xác thực việc triển khai Android Automotive OS (AAOS). Nhờ đó, bạn có thể cung cấp sản phẩm chất lượng cao cho trang web thương mại.

Thiết kế và triển khai CATBox

Bộ kiểm thử CATBox cung cấp các công cụ, khung và kiểm thử cần thiết để thực thi kiểm thử chức năng và hiệu suất trên thiết bị mục tiêu trong ngành ô tô và khi sử dụng thiết bị đồng hành.

Hình ảnh sau đây minh hoạ thiết kế cấp cao của một gói CATBox.

CATBox

Hình 1. Gói CATBox

Tradefed

Tradefed là một khung kiểm thử liên tục nguồn mở dùng để thực thi các kiểm thử trên thiết bị Android. Để biết thông tin chi tiết, hãy xem bài viết Tổng quan về Liên minh thương mại.

Khung kiểm thử ô tô

CATBox dựa trên một khung kiểm thử dành cho ô tô có tên là Spectatio. Khung này cung cấp các API để kiểm thử nhiều ứng dụng trên thiết bị ô tô. Công cụ này được xây dựng dựa trên UI Automator, một khung kiểm thử nguồn mở, cung cấp một bộ API để tạo các kiểm thử giao diện người dùng tương tác với ứng dụng người dùng và hệ thống.

Tải bộ kiểm thử CATBox xuống

Android 14

Android Automotive 14 là bản phát hành của cột mốc phát triển có tên mã là U. Hãy sử dụng các đường liên kết sau để tải bộ kiểm thử CATBox cho Android 14:

Android 12

Android 12 là bản phát hành của mốc phát triển có tên mã là S. Hãy sử dụng các đường liên kết sau đây để tải bộ kiểm thử CATBox xuống cho Android 12:

Android 11

Android 11 là bản phát hành của mốc phát triển có tên mã là R. Sử dụng các đường liên kết sau để tải bộ kiểm thử CATBox cho Android 11 xuống:

Tạo CATBox

Sử dụng lệnh bản dựng catbox sau khi có mã Android AOSP trên máy trạm cục bộ.

Cách tạo gói CATBox cục bộ:

  1. Chọn Mục tiêu thiết bị dựa trên cấu trúc thiết bị và chạy lệnh sau:

    lunch <target>
    
  2. Để tạo CATBox, hãy chạy lệnh sau:

    make catbox
    

    Lệnh này sẽ tạo tệp android-catbox.zip trong thư mục /out/host/linux-x86/catbox, sau đó bạn có thể dùng tệp này để chạy kiểm thử.

Thiết lập môi trường

Việc thiết lập môi trường cần thiết để thực thi các kiểm thử CATBox tương tự như Thiết lập CTS. Để thiết lập môi trường, hãy hoàn thành từng nhiệm vụ sau:

Thiết lập và chạy CATBox

Sử dụng khung kiểm thử Tradefed để chạy các chương trình kiểm thử trên thiết bị Android. Trước khi bạn thiết lập CATBox, hãy xem bài viết Tổng quan về Liên minh thương mại.

Để thiết lập và chạy CATBox, hãy xem các phần bên dưới.

Thiết lập thiết bị

Trước khi chạy kế hoạch kiểm thử, hãy hoàn thành các bước sau để thiết lập thiết bị:

  1. Đảm bảo rằng bạn đã cài đặt các phiên bản mới nhất của cả Cầu gỡ lỗi Android (adb)Công cụ đóng gói tài nguyên Android (AAPT), cũng như thêm vị trí của các công cụ này vào đường dẫn hệ thống của máy. Để biết thông tin chi tiết, hãy xem bài viết về ADB và AAPT.

  2. Kết nối ít nhất một thiết bị và chuẩn bị Thiết bị đang được kiểm thử (DUT) như sau:

    1. Để đặt lại thiết bị ô tô về trạng thái ban đầu, hãy chuyển đến phần Cài đặt > Hệ thống > Tuỳ chọn đặt lại > Xoá tất cả dữ liệu.

    2. Chờ thiết bị tự động khởi động lại.

    3. Đảm bảo bạn đã bật adb. Để xác nhận thiết bị có sẵn, hãy chạy lệnh sau:

      adb devices
      
    4. Để bật quyền truy cập thư mục gốc, hãy chạy lệnh sau:

      adb -s DEVICE_SERIAL root
      

      Thay thế DEVICE_SERIAL bằng Mã số sê-ri cho thiết bị ô tô.

    5. Kết nối Wi-Fi.

Trích xuất gói CATBox

Sau khi thiết lập thiết bị, hãy giải nén gói CATBox và chuyển đến thư mục đã giải nén:

unzip android-catbox.zip
cd android-catbox

Thực thi kiểm thử trong CATBox

Cách chạy CATBox với các kế hoạch kiểm thử trong gói CATBox:

./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL

Thay thế DEVICE_SERIAL bằng Mã số sê-ri cho thiết bị ô tô. Nếu bạn có nhiều thiết bị được kết nối với máy chủ, hãy sử dụng DEVICE_SERIAL để phân biệt các thiết bị đó. Thay thế TEST_PLAN_NAME bằng tên của kế hoạch kiểm thử mà bạn muốn chạy.

Để xem danh sách đầy đủ nhất về các gói có sẵn, hãy sử dụng dòng lệnh:

./tools/catbox-tradefed list plans | grep -i catbox

Các loại kế hoạch kiểm thử

Bảng sau đây cho thấy các kế hoạch kiểm thử chức năng hiện có.

Kế hoạch kiểm thử chức năng Mô tả
catbox-functional Kiểm thử chức năng.
catbox-functional-app-info-setting Kiểm thử chức năng của chế độ cài đặt thông tin ứng dụng.
catbox-functional-admin-user-grant-permissions Kiểm thử chức năng cấp quyền cho người dùng quản trị.
catbox-functional-app-info-setting-ui-elements Kiểm thử chức năng của chế độ cài đặt thông tin ứng dụng.
catbox-functional-appgrid Kiểm thử chức năng của lưới ứng dụng.
catbox-functional-base Danh sách kiểm thử chức năng.
catbox-functional-bluetooth-audio Kiểm thử chức năng âm thanh Bluetooth.
catbox-functional-bluetooth-palette Kiểm thử chức năng của thanh trạng thái.
catbox-functional-bluetooth-tests Kiểm thử Bluetooth bằng Mobly.
catbox-functional-brightness-palette Kiểm thử chức năng của thanh trạng thái.
catbox-functional-btmoped Kiểm thử chức năng dựa trên xe đạp gắn máy Bluetooth.
catbox-functional-date-time-setting Kiểm thử chức năng của chế độ cài đặt ngày và giờ.
catbox-functional-dial Kiểm thử chức năng của tính năng quay số.
catbox-functional-display-setting Kiểm thử chức năng của chế độ cài đặt hiển thị.
catbox-functional-driving-optimized-apps Kiểm thử chức năng về quy định hạn chế trải nghiệm người dùng.
catbox-functional-enable-developers-option Bật tuỳ chọn kiểm thử chức năng cho nhà phát triển.
catbox-functional-home Kiểm thử chức năng của trang chủ.
catbox-functional-lock-screen Kiểm thử chức năng của màn hình khoá.
catbox-functional-mediacenter Kiểm thử chức năng của Trung tâm đa phương tiện.
catbox-functional-microphone-recent-apps Kiểm thử chức năng của chế độ cài đặt micrô.
catbox-functional-microphone-setting Kiểm thử chức năng của chế độ cài đặt micrô.
catbox-functional-multiuser Kiểm thử chức năng nhiều người dùng.
catbox-functional-multiuser-system-user Kiểm thử chức năng nhiều người dùng.
catbox-functional-navigation-bar Kiểm thử chức năng của thanh điều hướng.
catbox-functional-network-palette Kiểm thử chức năng của thanh trạng thái.
catbox-functional-network-setting Kiểm thử chức năng của chế độ cài đặt mạng.
catbox-functional-notification Kiểm thử chức năng thông báo.
catbox-functional-privacy-permission-manager Kiểm thử chức năng của chế độ cài đặt Quyền ứng dụng về quyền riêng tư.
catbox-functional-privacy-setting Kiểm thử chức năng của chế độ cài đặt micrô.
catbox-functional-privacy-setting-ui-elements Kiểm thử chức năng của chế độ cài đặt quyền riêng tư.
catbox-functional-profile-icon Kiểm thử chức năng của Thanh biểu tượng hồ sơ.
catbox-functional-profiles-icon-list Kiểm thử danh sách biểu tượng hồ sơ.
catbox-functional-security-setting Kiểm thử chức năng của chế độ cài đặt bảo mật.
catbox-functional-setting Thiết lập kiểm thử chức năng.
catbox-functional-settings-location Thiết lập kiểm thử vị trí.
catbox-functional-sound-setting Kiểm thử chức năng của chế độ cài đặt âm thanh.
catbox-functional-status-bar Kiểm thử chức năng của thanh trạng thái.
catbox-functional-storage-setting Kiểm thử chức năng của chế độ cài đặt bộ nhớ.
catbox-functional-system-setting Kiểm thử chức năng của phần cài đặt hệ thống.
catbox-functional-systemui Kiểm thử giao diện người dùng hệ thống.
catbox-functional-ux-restriction Kiểm thử chức năng về quy định hạn chế trải nghiệm người dùng.
catbox-functional-ux-restriction-facet-bar Kiểm thử chức năng về quy định hạn chế trải nghiệm người dùng.

Bảng sau đây liệt kê các kế hoạch kiểm thử hiệu suất của CATBox.

Kế hoạch kiểm thử hiệu suất Mô tả
catbox-performance-cold-app-start-up-dialer Kiểm thử hiệu suất khởi động nguội của ứng dụng cho Trình quay số và Điện thoại.
catbox-performance-cold-app-start-up-mediacenter Kiểm thử hiệu suất khởi động nguội ứng dụng cho Trung tâm đa phương tiện.
catbox-performance-cold-app-start-up-settings Thử nghiệm hiệu suất khởi động nguội ứng dụng cho các chế độ cài đặt.
catbox-performance-create-and-switch-to-new-guest Đo độ trễ để chuyển sang khách mới.
catbox-performance-create-and-switch-to-new-user Đo độ trễ để chuyển sang người dùng mới không phải quản trị viên.
catbox-performance-hot-app-start-up-dialer Kiểm thử hiệu suất khởi động nóng ứng dụng cho Trình quay số và Điện thoại.
catbox-performance-hot-app-start-up-mediacenter Kiểm thử hiệu suất khởi động nóng ứng dụng cho Media Center.
catbox-performance-hot-app-start-up-settings Thử nghiệm hiệu suất khởi động nóng ứng dụng cho phần Cài đặt.
catbox-performance-jank-appgrid Kiểm thử hiệu suất cho Appgrid.
catbox-performance-jank-contact-list Kiểm thử hiệu suất cho Danh bạ.
catbox-performance-jank-media Kiểm thử hiệu suất cho nội dung nghe nhìn.
catbox-performance-jank-media-switch-playback Kiểm thử hiệu suất để phát qua nút chuyển nội dung nghe nhìn.
catbox-performance-jank-notifications Kiểm thử hiệu suất cho Thông báo.
catbox-performance-jank-settings Kiểm thử hiệu suất cho phần Cài đặt.
catbox-performance-switch-to-existing-user Đo lường độ trễ để chuyển sang người dùng hiện tại.

Chạy kiểm thử phía máy chủ nhiều thiết bị

Việc thực thi các kiểm thử phía máy chủ nhiều thiết bị sử dụng CATBox để chạy kiểm thử trong một phiên. Ví dụ: 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 sẽ cài đặt apk, sau đó chạy kiểm thử trong môi trường thực thi Python chính xác.

Xem lại kết quả kiểm thử bằng CATBox

Kết quả của các lần chạy kiểm thử chức năng và hiệu suất được lưu trong android-catbox/results/latest.

Loại kết quả Vị trí
Kết quả thử nghiệm test_result.xml
Thông tin chi tiết về kiểm thử không thành công test_result_failures_suite.html
Kết quả về chỉ số hiệu suất /report-log-files/CatboxPerformanceTests.reportlog.json
Chạy kiểm thử chức năng và hiệu suất /android-catbox/logs/latest