Trình xác minh Bộ kiểm tra tính tương thích (CTS Verifier) với Android bổ sung cho Bộ kiểm tra tính tương thích (CTS). Trong khi CTS kiểm tra các API và hàm có thể được tự động hoá, CTS Verifier cung cấp các bài kiểm tra cho các API và hàm không thể kiểm tra trên một thiết bị cố định mà không cần đầu vào hoặc định vị thủ công, chẳng hạn như chất lượng âm thanh, màn hình cảm ứng, gia tốc kế và camera.
Yêu cầu
Trước khi chạy CTS Verifier, hãy đảm bảo rằng bạn có các thiết bị sau:
- Thiết bị chạy Android đã xác minh khả năng tương thích với API Android bằng cách vượt qua CTS. Đây là thiết bị đang được kiểm thử (DUT).
- Máy tính Linux có cổng tương thích với USB 2.0. Mọi kết nối đến DUT đều thông qua cổng này.
- Thiết bị thứ hai chạy Android có Bluetooth, Wi-Fi Direct, Wi-Fi Aware, UWB (nếu DUT hỗ trợ UWB) và tính năng giả lập thẻ dựa trên máy chủ (HCE) NFC tương thích.
- Bộ định tuyến Wi-Fi được định cấu hình bằng tên và mật khẩu điểm truy cập. Bộ định tuyến phải có khả năng ngắt kết nối Internet mà không cần tắt nguồn.
Đồng thời, hãy nhớ chuẩn bị chân máy, giá đỡ thiết bị và khoảng cách đã đo trước cần thiết cho các bài kiểm thử đo khoảng cách (độ gần) đối với UWB, Wi-Fi NAN và Bluetooth RSSI. Để biết thông tin chi tiết, hãy xem phần Hiệu chỉnh sự hiện diện.
Yêu cầu về UICC đối với các bài kiểm thử NFC
Trình xác minh CTS có các trường hợp kiểm thử NFC sau đây:
- Field-off (sử dụng dữ liệu giao dịch từ 0x54)
- Huỷ chọn (sử dụng dữ liệu giao dịch từ 0x52)
- Lệnh HCI (0025000000) (sử dụng dữ liệu giao dịch từ 0x02)
Các bài kiểm thử sự kiện giao dịch yêu cầu 2 thiết bị, trong đó phải có một thiết bị có UICC SecureElement với các quy tắc truy cập sau:
- Hàm băm APK CtsVerifier: 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
- Giá trị nhận dạng ứng dụng (AID) được uỷ quyền để truy cập vào sự kiện NFC: 0xA000000476416E64726F696443545341
Về phía trình mô phỏng, chúng ta mong đợi sự kiện giao dịch sẽ đẩy hoạt động tương ứng vào nền trước.
Thiết lập
Android 17 yêu cầu thêm một bước thiết lập CTS-V để cấp vai trò trình duyệt mặc định.
Thay đổi chế độ thao tác của hệ thống trên thiết bị thử nghiệm thành chế độ 3 nút như sau:
- Mở phần Cài đặt.
- Chuyển đến phần Hệ thống > Tương tác > Chế độ thao tác.
- Chọn một chế độ thao tác bằng nút bất kỳ; nên dùng chế độ 3 nút nếu có.
Cách thiết lập môi trường kiểm thử Trình xác minh CTS:
Trên máy tính Linux:
- Trước khi cài đặt CTS Verifier, hãy chạy lệnh sau để cho phép truy cập vào các giao diện không phải SDK:
adb shell settings put global hidden_api_policy 1Cài đặt Android Studio.
Tải APK Trình xác minh CTS xuống cho phiên bản Android cần kiểm thử.
Kết nối DUT với máy tính Linux.
Từ một cửa sổ dòng lệnh trên máy tính Linux, hãy cài đặt
CtsVerifier.apktrên DUT:adb install -r -g CtsVerifier.apkĐối với Android 10 trở lên, hãy chạy lệnh sau để cấp quyền cho ứng dụng tạo báo cáo:
adb shell appops set com.android.cts.verifier android:read_device_identifiers allowĐối với Android 11 trở lên, hãy chạy lệnh sau để cho phép lưu báo cáo trong một thư mục do người dùng xác định trong thư mục cấp cao nhất bên ngoài của thiết bị:
adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0Đối với Android 13 trở lên, hãy chạy lệnh sau để cho phép quyền truy cập vào API kiểm thử cho CTS Verifier:
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifierĐối với Android 14 trở lên, hãy chạy lệnh sau để cấp quyền cho ứng dụng bật màn hình:
adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0Đối với Android 17 trở lên, hãy chạy lệnh sau để cấp vai trò trình duyệt mặc định cho CTS Verifier:
adb shell 'cmd role add-role-holder --user $(am get-current-user) android.app.role.BROWSER com.android.cts.verifier'Xác minh rằng DUT đã đặt đúng ngày và giờ hệ thống.
Chạy Trình xác minh CTS
Khởi chạy ứng dụng Trình xác minh CTS bằng cách nhấn vào biểu tượng Trình xác minh CTS trên DUT.
Hình 1. Biểu tượng Trình xác minh CTS.
Ứng dụng này hiển thị một số bộ kiểm thử có sẵn để xác minh thủ công.
Hình 2. Trình đơn kiểm thử của Trình xác minh CTS.
Mỗi bài kiểm thử đều chứa một nhóm các phần tử chung ở cuối màn hình.
Hình 3. Màn hình kiểm thử có các phần tử kiểm thử phổ biến được làm nổi bật.
- Đạt (✓). Nhấn nếu DUT đáp ứng các yêu cầu kiểm thử theo hướng dẫn về Thông tin.
- Thông tin (?). Nhấn để hiển thị hướng dẫn làm bài kiểm tra. Cũng tự động xuất hiện vào lần đầu tiên mở một bài kiểm tra.
- Thất bại (!). Nhấn vào nếu DUT không đáp ứng các yêu cầu kiểm thử theo hướng dẫn về Thông tin.
Một số kiểm thử, chẳng hạn như chế độ phụ kiện USB, yêu cầu thiết lập và hướng dẫn kiểm thử bổ sung như được trình bày chi tiết trong các phần sau.
Kiểm thử chế độ phụ kiện USB cho phiên bản 8.0 trở lên
Hình 4. Quy trình kiểm thử phụ kiện USB cho Android 8.0 trở lên.
Hình 5. Thử nghiệm chế độ phụ kiện USB cho phiên bản 8.0 trở lên.
Kiểm thử chế độ phụ kiện USB cho phiên bản 7.x trở xuống
Bài kiểm thử Phụ kiện USB yêu cầu máy tính Linux chạy chương trình máy tính để bàn USB (máy chủ).
- Kết nối DUT với máy tính Linux.
Trên máy tính, hãy thực thi chương trình
cts-usb-accessorytrong gói CTS Verifier:./cts-usb-accessoryĐợi hộp thoại xuất hiện trên DUT, sau đó nhấn vào OK.
Hình 6. Kiểm thử phụ kiện USB
Chuyển đến phần Kiểm thử phụ kiện USB trong ứng dụng CTS Verifier trên DUT.
Trên máy tính, hãy xem kết quả đầu ra từ bảng điều khiển. Kết quả điểm dữ liệu:
CTS USB Accessory Tester Found possible Android device (413c:2106) - attempting to switch to accessory mode... Failed to read protocol versionfigure3 Found Android device in accessory mode (18d1:2d01)... [RECV] Message from Android device #0 [SENT] Message from Android accessory #0 [RECV] Message from Android device #1 [SENT] Message from Android accessory #1 [RECV] Message from Android device #2 [SENT] Message from Android accessory #2 [RECV] Message from Android device #3 [SENT] Message from Android accessory #3 [RECV] Message from Android device #4 [SENT] Message from Android accessory #4 [RECV] Message from Android device #5 [SENT] Message from Android accessory #5 [RECV] Message from Android device #6 [SENT] Message from Android accessory #6 [RECV] Message from Android device #7 [SENT] Message from Android accessory #7 [RECV] Message from Android device #8 [SENT] Message from Android accessory #8 [RECV] Message from Android device #9 [SENT] Message from Android accessory #9 [RECV] Message from Android device #10 [SENT] Message from Android accessory #10
Chạy Trình xác minh CTS cho các chế độ thay thế
Kể từ các bản phát hành CTS 10 R6 và CTS 11 R2, CTS Verifier hỗ trợ các kiểm thử bắt buộc đối với thiết bị có chế độ thay thế hoặc đối với thiết bị có nhiều chế độ màn hình.
Ở đầu chế độ xem danh sách chính trong CTS Verifier, một nút sẽ xuất hiện để cho phép người dùng chuyển đổi giữa chế độ hiển thị khi mở và khi gập. CTS Verifier sẽ cho thấy các kiểm thử cần thiết cho chế độ hiển thị đã chọn. Để thực thi các chế độ thay thế trong CTS Verifier, bạn nên chuyển nút sang chế độ hiển thị thích hợp và chạy danh sách các kiểm thử xuất hiện.
Hình 7. Công tắc bật/tắt Trình xác minh CTS.
Kết quả của các thử nghiệm được gấp lại sẽ được ghi trong cùng một báo cáo với các thử nghiệm không được gấp lại. Để xác định từng kết quả kiểm thử mà bộ kiểm thử được lấy từ đó, một hậu tố sẽ được thêm vào mỗi tên kiểm thử ở chế độ thu gọn.
<Test result="fail" name="com.android.cts.verifier.deskclock.DeskClockTestsActivity[folded]">
<RunHistory subtest="CREATE_ALARM[folded]">
<Run start="1594176663973" end="1594176665841" isAutomated="false" />
</RunHistory>
</Test>
Xuất kết quả
Sau khi hoàn tất tất cả các bài kiểm thử, bạn có thể lưu kết quả dưới dạng báo cáo và tải kết quả xuống máy tính. Tên báo cáo sẽ tự động được gắn dấu thời gian dựa trên thời gian hệ thống DUT.
Để lưu kết quả kiểm tra, hãy nhấn vào biểu tượng lưu (đĩa) ở đầu danh sách danh mục kiểm tra.
Đợi hộp thoại hiển thị đường dẫn đến báo cáo đã lưu (ví dụ:
/sdcard/verifierReports/ctsVerifierReport-date-time.zip), sau đó ghi lại đường dẫn.Kết nối DUT với máy tính Linux.
Từ bản cài đặt Android SDK trên máy tính Linux, hãy tải các báo cáo xuống từ thiết bị đã kết nối bằng cách sử dụng
adb shell content readhoặcadb pull CTSVerifierReportPath.Đối với Android 7.x trở lên, hãy tải tất cả báo cáo xuống bằng lệnh sau:
adb pull /sdcard/verifierReportsĐối với Android 6.0 trở xuống, hãy tải tất cả báo cáo xuống bằng lệnh sau:
adb pull /mnt/sdcard/ctsVerifierReports/Đối với Android 10 trở lên, hãy triển khai Automotive và các thiết bị chạy dưới dạng người dùng phụ, tải báo cáo mới nhất xuống bằng lệnh sau:
adb shell content read --user <var>CURRENT_USER</var> --uri content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zipCách liệt kê tất cả báo cáo có trong thiết bị thông minh:
adb shell content query --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports ``` To download a report from the list, you can specify the Row ID or filename. For example: ```shell adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip ``` ```shell adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports ctsVerifierReport-date-time.zip > report.zip ```
Để xoá kết quả đạt hoặc không đạt, hãy chọn kết quả trong ứng dụng CTS Verifier rồi chọn Trình đơn > Xoá.