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 mã 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à hoạt động kiểm thử mà bạn dùng để kiểm thử và xác thực việc triển khai Hệ điều hành Android Automotive (AAOS). Nhờ đó, bạn có thể cung cấp các 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 các kiểm thử chức năng và hiệu suất trên một thiết bị mục tiêu ô tô và trong 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 mã nguồn mở được 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ề Trade Federation.

Khung kiểm thử ô tô

CATBox dựa trên một khung kiểm thử ô tô có tên là Spectatio, cung cấp các API để kiểm thử nhiều ứng dụng trên các thiết bị ô tô. Espresso được xây dựng dựa trên UI Automator, một khung kiểm thử mã nguồn mở, cung cấp một bộ API để tạo các quy trình kiểm thử giao diện người dùng tương tác với người dùng và các ứng dụng 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 dùng các đường liên kết sau để tải bộ kiểm thử CATBox xuống cho Android 14:

Android 12

Android 12 là bản phát hành của cột 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 để 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 cột 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 xuống cho Android 11:

Xây dựng CATBox

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

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

  1. Chọn Device Target (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 các 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 thao tác sau:

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

Sử dụng khung kiểm thử Tradefed để chạy các kiểm thử trên thiết bị Android. Trước khi bạn thiết lập CATBox, hãy xem Tổng quan về Liên đoàn 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 tất các bước sau để thiết lập thiết bị:

  1. Đảm bảo bạn đã cài đặt các phiên bản gần đây 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 phần ADB và AAPT.

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

    1. Để đặt lại thiết bị trên ô 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 vào thư mục gốc, hãy chạy lệnh sau:

      adb -s DEVICE_SERIAL root

      Thay thế DEVICE_SERIAL bằng Mã nhận dạng nối tiếp của 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 đã trích xuất:

unzip android-catbox.zip
cd android-catbox

Thực thi các 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ã nhận dạng nối tiếp của thiết bị ô tô. Nếu bạn có nhiều thiết bị kết nối với máy chủ, hãy 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 kế hoạch 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 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 thanh trạng thái.
catbox-functional-btmoped Kiểm thử chức năng dựa trên xe máy Bluetooth.
catbox-functional-date-time-setting Kiểm thử chức năng cài đặt ngày và giờ.
catbox-functional-dial Kiểm thử chức năng quay số.
catbox-functional-display-setting Kiểm thử chức năng chế độ cài đặt hiển thị.
catbox-functional-driving-optimized-apps Kiểm thử chức năng hạn chế trải nghiệm người dùng.
catbox-functional-enable-developers-option Bật các kiểm thử chức năng của tuỳ chọn cho nhà phát triển.
catbox-functional-home Kiểm thử chức năng tại nhà.
catbox-functional-lock-screen Kiểm thử chức năng màn hình khoá.
catbox-functional-mediacenter Kiểm thử chức năng của Trung tâm nội dung nghe nhì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 thanh trạng thái.
catbox-functional-network-setting Kiểm thử chức năng 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 chế độ cài đặt Quyền đối với ứng dụng bảo đảm 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 chế độ cài đặt âm thanh.
catbox-functional-status-bar Kiểm thử chức năng 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à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 hạn chế trải nghiệm người dùng.
catbox-functional-ux-restriction-facet-bar Kiểm thử chức năng 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 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 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 nội dung nghe nhìn.
catbox-performance-cold-app-start-up-settings Thử nghiệm hiệu suất khởi động nguội ứng dụng cho chế độ cài đặt.
catbox-performance-create-and-switch-to-new-guest Đo độ trễ khi chuyển sang một khách truy cập mới.
catbox-performance-create-and-switch-to-new-user Đo độ trễ khi chuyển sang người dùng không phải là quản trị viên mới.
catbox-performance-hot-app-start-up-dialer Kiểm thử hiệu suất khởi động ứng dụng nó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 ứng dụng nóng cho Trung tâm nội dung nghe nhìn.
catbox-performance-hot-app-start-up-settings Thử nghiệm hiệu suất khởi động ứng dụng nó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 cho chế độ phát nội dung nghe nhìn ở chế độ chuyển đổi.
catbox-performance-jank-notifications Thử nghiệm hiệu suất cho Thông báo.
catbox-performance-jank-settings Kiểm tra hiệu suất cho phần Cài đặt.
catbox-performance-switch-to-existing-user Đo độ trễ khi chuyển sang một người dùng hiện có.

Chạy kiểm thử phía máy chủ lưu trữ trên nhiều thiết bị

Việc thực thi các kiểm thử phía máy chủ lưu trữ trên nhiều thiết bị sẽ 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 cài đặt apk rồi chạy kiểm thử trong môi trường thực thi Python phù hợp.

Xem kết quả kiểm thử 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ề các lần kiểm thử thất bại 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