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.
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ộ:
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>
Để 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:
Cài đặt ADB và AAPT.
Cài đặt JDK. Xem phần Bộ phát triển Java cho Ubuntu.
Tăng hạn mức bộ nhớ. Xem phần Yêu cầu về bộ nhớ.
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ị:
Đả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) và 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.
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:
Để đặ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.
Chờ thiết bị tự động khởi động lại.
Đả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
Để 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ô.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 |