Hoàn thành các bài kiểm thử Automotive trong một hộp (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á cũng như triển khai giải pháp kiểm thử với cấu hình tối thiểu. CATBox có thể mở rộng và tương thích với các công cụ, cơ sở hạ tầng và bài kiểm thử mà bạn sử dụng để kiểm thử và xác thực thiết bị Android của mình Triển khai Automotive OS (AAOS). Do đó, bạn có thể cung cấp sản phẩm ra thị trường.
Thiết kế và triển khai CATBox
Bộ thử nghiệm CATBox cung cấp các công cụ, khung và chương trình kiểm thử cần thiết để thực thi các thử nghiệm chức năng và hiệu suất trên 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 gói CATBox.
Hình 1. Gói CATBox
Đã trao đổi
Tradefeed là khung kiểm thử liên tục nguồn mở được dùng để thực thi kiểm thử trên Thiết bị Android. Để biết chi tiết, hãy xem phần Tổng quan về Liên đoàn Thương mại.
Khung kiểm thử Automotive
CATBox dựa trên một khung kiểm thử Automotive có tên là Spectatio, cung cấp các API để thử nghiệm trên các thiết bị trên ô tô. Nền tảng này được xây dựng ở trên cùng trong số Công cụ tự động hoá giao diện người dùng khung kiểm thử nguồn mở cung cấp một bộ API để tạo các bài kiểm thử giao diện người dùng tương tác với các ứng dụng của người dùng và hệ thống.
Lượt tải bộ kiểm thử CATBox xuống
Android 14
Android Automotive 14 là bản phát hành của mốc phát triển có tên mã U. Sử dụng các đường liên kết sau để tải xuống Bộ kiểm thử CATBox dành cho Android 14:
Android 12
Android 12 là ngày phát hành mốc phát triển tên mã là S. Sử dụng các liên kết sau để tải xuống bộ kiểm thử CATBox cho Android 12:
Android 11
Android 11 là bản phát hành của mốc phát triển quan trọng có tên mã là R. Sử dụng các đường liên kết sau để tải xuống bộ kiểm thử CATBox cho Android 11:
Tạo CATBox
Sử dụng lệnh bản dựng catbox
sau khi mã AOSP của Android có sẵn 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 sau đây:
lunch <target>
Để tạo CATBox, hãy chạy lệnh sau:
make catbox
Lệnh này tạo tệp
android-catbox.zip
trong Thư mục/out/host/linux-x86/catbox
mà sau đó có thể được dùng để chạy chương trình 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 kiểm thử CATBox cũng tương tự như Thiết lập CTS. Để thiết lập hãy hoàn thành từng nhiệm vụ sau:
Cài đặt ADB và AAPT.
Cài đặt JDK. Xem Bộ phát triển Java dành cho Ubuntu.
Tăng hạn mức bộ nhớ. Xem Yêu cầu về bộ nhớ.
Thiết lập và chạy CATBox
Sử dụng khung kiểm thử Tradefeed để chạy các kiểm thử trên thiết bị Android. Trước khi thiết lập CATBox, xem phần Tổng quan về Liên kết 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 một kế hoạch thử nghiệm, hãy hoàn tất các bước sau để thiết lập thiết bị:
Hãy đảm bảo rằng bạn đã cài đặt phiên bản gần đây của cả hai 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 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 tra (DUT) dưới dạng sau:
Để đặt lại thiết bị trên ô tô về trạng thái ban đầu, hãy chuyển đến Cài đặt > Hệ thống > Đặt lại tuỳ chọn > Xoá mọi dữ liệu.
Đợi thiết bị tự động khởi động lại.
Hãy đảm bảo bạn đã bật adb. Để xác nhận rằng thiết bị có sẵn, hãy chạy sau đây:
adb devices
Để bật 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ê-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 bằng các gói 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ê-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 chúng. Thay thế
TEST_PLAN_NAME
với tên của gói thử nghiệm mà bạn muốn
để chạy.
Để xem danh sách đầy đủ nhất 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 tra chức năng | Mô tả |
---|---|
catbox-functional |
Kiểm tra chức năng. |
catbox-functional-app-info-setting |
Bài kiểm tra chức năng cài đặt thông tin ứng dụng. |
catbox-functional-admin-user-grant-permissions |
Người dùng quản trị cấp quyền cho các bài kiểm thử chức năng. |
catbox-functional-app-info-setting-ui-elements |
Bài kiểm tra chức năng cài đặt thông tin ứng dụng. |
catbox-functional-appgrid |
Kiểm thử chức năng lưới ứng dụng. |
catbox-functional-base |
Danh sách các bài kiểm thử chức năng. |
catbox-functional-bluetooth-audio |
Kiểm tra chức năng âm thanh Bluetooth. |
catbox-functional-bluetooth-palette |
Bài kiểm thử chức năng trên thanh trạng thái. |
catbox-functional-bluetooth-tests |
Kiểm tra Bluetooth bằng AdMob. |
catbox-functional-brightness-palette |
Bài kiểm thử chức năng trên thanh trạng thái. |
catbox-functional-btmoped |
Kiểm tra chức năng dựa trên Bluetooth. |
catbox-functional-date-time-setting |
Kiểm tra chức năng cài đặt ngày và giờ. |
catbox-functional-dial |
Kiểm tra chức năng quay số. |
catbox-functional-display-setting |
Kiểm tra chức năng cài đặt màn hình. |
catbox-functional-driving-optimized-apps |
Bài kiểm thử chức năng giới hạn trải nghiệm người dùng. |
catbox-functional-enable-developers-option |
Bật các bài kiểm thử chức năng tuỳ chọn dành cho nhà phát triển. |
catbox-functional-home |
Kiểm tra chức năng tại nhà. |
catbox-functional-lock-screen |
Kiểm thử chức năng trên màn hình khoá. |
catbox-functional-mediacenter |
Kiểm thử chức năng của Media Center. |
catbox-functional-microphone-recent-apps |
Kiểm tra chức năng cài đặt micrô. |
catbox-functional-microphone-setting |
Kiểm tra chức năng 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 |
Bài kiểm thử chức năng trên thanh trạng thái. |
catbox-functional-network-setting |
Kiểm tra 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 |
Bài kiểm thử chức năng cài đặt Quyền ứng dụng về quyền riêng tư. |
catbox-functional-privacy-setting |
Kiểm tra chức năng cài đặt micrô. |
catbox-functional-privacy-setting-ui-elements |
Kiểm tra chức năng của chế độ cài đặt quyền riêng tư. |
catbox-functional-profile-icon |
Kiểm tra chức năng trên 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 tra chức năng 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 |
Đang kiểm tra vị trí. |
catbox-functional-sound-setting |
Kiểm tra chức năng cài đặt âm thanh. |
catbox-functional-status-bar |
Bài kiểm thử chức năng trên thanh trạng thái. |
catbox-functional-storage-setting |
Kiểm tra chức năng cài đặt bộ nhớ. |
catbox-functional-system-setting |
Kiểm tra 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 |
Bài kiểm thử chức năng giới hạn trải nghiệm người dùng. |
catbox-functional-ux-restriction-facet-bar |
Bài kiểm thử chức năng giới hạn 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 |
Bài kiểm thử hiệu suất khi khởi động ứng dụng nguội đối với Trình quay số và Điện thoại. |
catbox-performance-cold-app-start-up-mediacenter |
Bài kiểm thử hiệu suất khi khởi động ứng dụng nguội dành cho Media Center. |
catbox-performance-cold-app-start-up-settings |
Kiểm thử hiệu suất khi khởi động ứng dụng nguội đối với chế độ cài đặt. |
catbox-performance-create-and-switch-to-new-guest |
Đo lường độ 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 |
Bài kiểm tra hiệu suất khi khởi động ứng dụng thú vị dành cho Trình quay số và Điện thoại. |
catbox-performance-hot-app-start-up-mediacenter |
Bài kiểm thử hiệu suất khi khởi động ứng dụng nổi bật dành cho Media Center. |
catbox-performance-hot-app-start-up-settings |
Bài kiểm thử hiệu suất khi khởi động ứng dụng nhanh cho phần Cài đặt. |
catbox-performance-jank-appgrid |
Bài kiểm thử hiệu suất cho Appgrid. |
catbox-performance-jank-contact-list |
Thử nghiệm 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 |
Bài kiểm thử hiệu suất khi phát bằng công tắc nội dung nghe nhìn. |
catbox-performance-jank-notifications |
Thử nghiệm hiệu suất cho Thông báo. |
catbox-performance-jank-settings |
Kiểm thử hiệu suất cho chế độ Cài đặt. |
catbox-performance-switch-to-existing-user |
Đo độ 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ị
Quá trình thực thi 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ụ như 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
, sau đó chương trình kiểm thử sẽ được chạy trong đúng Python
môi trường thực thi.
Xem kết quả thử nghiệm 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ề hoạt động kiểm thử lỗ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 tra hiệu suất và chức năng | /android-catbox/logs/latest |