Công cụ xác minh Bộ kiểm tra tính tương thích (CTS Verifier) của Android bổ sung cho Bộ kiểm tra tính tương thích (CTS). Mặc dù CTS kiểm tra các API và hàm có thể được tự động hoá, nhưng CTS Verifier cung cấp các kiểm thử cho những API và hàm không thể kiểm thử 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ị 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. Tất cả các kết nối đến DUT đều thông qua cổng này.
- Thiết bị Android thứ hai có Bluetooth, Wi-Fi Direct, Wi-Fi Aware, UWB (nếu DUT hỗ trợ UWB) và tính năng giả lập thẻ trên máy chủ (HCE) NFC tương thích đã biết.
- 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 nhưng không được 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 tra đ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
CTS Verifier 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 thử nghiệm sự kiện giao dịch yêu cầu 2 thiết bị, trong đó có một thiết bị phải có UICC SecureElement với các quy tắc truy cập sau:
- 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
- Mã nhận dạng ứng dụng được uỷ quyền (AID) để 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
Thay đổi chế độ thao tác của hệ thống trên thiết bị thử nghiệm thành chế độ thao tác bằng 3 nút như sau:
- Mở phần Cài đặt.
- Chuyển đến phần Hệ thống > Cử chỉ > Thao tác bằng cử chỉ.
- Chọn chế độ thao tác bằng nút bất kỳ (nên chọn chế độ 3 nút nếu có).
Cách thiết lập môi trường kiểm thử CTS Verifier:
Trên máy tính Linux:
Chạy lệnh sau trước khi cài đặt CTS Verifier để 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 1
Cà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.
Trên cửa sổ dòng lệnh của máy tính Linux, hãy cài đặt
CtsVerifier.apk
trê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 CTS Verifier truy cập vào API kiểm thử.
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
Đảm bảo rằng DUT đã được đặt ngày và giờ hệ thống chính xác.
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 tra đều có 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 trong phần 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.
- Fail (!). 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ố bài kiểm thử, chẳng hạn như chế độ phụ kiện USB và bài kiểm thử hiệu chuẩn camera, 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 phiên bản 8.0 trở lên
Hình 5. Kiểm thử 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-accessory
trong gói CTS Verifier:./cts-usb-accessory
Đợi thông báo bật lên xuất hiện trên DUT, sau đó chọn 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 trên 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
Hiệu chỉnh trường nhìn của camera
Sử dụng quy trình hiệu chỉnh trường nhìn để nhanh chóng xác định trường nhìn của thiết bị với độ chính xác vừa phải.
Thiết lập môi trường kiểm thử:
- In tệp mục tiêu calibration-pattern.pdf trên giấy có kích thước 11 x 17 inch hoặc A3.
- Gắn mẫu in lên một tấm nền cứng.
Định hướng thiết bị camera và mục tiêu in như trong sơ đồ sau.
Hình 7. Đích nhắm in ảnh bằng camera
Đặt chiều rộng mục tiêu:
- Đo khoảng cách (tính bằng cm) giữa các đường liền nét trên mẫu mục tiêu để tính đến độ không chính xác khi in (~38 cm).
- Khởi động ứng dụng hiệu chuẩn.
- Nhấn nút thiết lập rồi chọn Khoảng cách đánh dấu.
- Đo và nhập khoảng cách đến mẫu mục tiêu (~100 cm).
- Nhấn nút quay lại để quay lại bản xem trước hiệu chuẩn.
Xác minh rằng thiết bị và mục tiêu được đặt như trong hình và bạn đã nhập đúng khoảng cách vào hộp thoại thiết lập. Bản xem trước hiển thị hình ảnh có một đường thẳng dọc phủ lên; đường thẳng này phải thẳng hàng với đường tâm của mẫu mục tiêu. Bạn có thể sử dụng lưới trong suốt với các đường thẳng đứng khác để đảm bảo trục quang học vuông góc với mục tiêu.
Chạy kiểm thử hiệu chuẩn:
- Chọn độ phân giải hình ảnh (bằng cách dùng bộ chọn ở dưới cùng bên trái), sau đó nhấn vào màn hình để chụp ảnh. Bài kiểm thử sẽ chuyển sang chế độ hiệu chỉnh và hiển thị bức ảnh có 2 đường thẳng dọc chồng lên hình ảnh.
- Xác định độ chính xác:
- Nếu các đường thẳng này thẳng hàng với các đường thẳng dọc trên mẫu mục tiêu trong vòng vài centimet, thì trường nhìn được báo cáo cho độ phân giải đã chọn là chính xác.
- Nếu các đường này không thẳng hàng, thì trường nhìn được báo cáo sẽ không chính xác. Để điều chỉnh, hãy di chuyển thanh trượt ở cuối màn hình cho đến khi lớp phủ căn chỉnh với mẫu mục tiêu càng gần càng tốt. Khi lớp phủ và hình ảnh mẫu mục tiêu được căn chỉnh, trường nhìn hiển thị sẽ gần đúng với giá trị chính xác. Góc nhìn được báo cáo phải nằm trong phạm vi +/-2 độ so với giá trị hiệu chuẩn.
- Nhấn nút quay lại và lặp lại quy trình kiểm tra hiệu chuẩn cho tất cả độ phân giải hình ảnh mà DUT hỗ trợ.
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. Trình xác minh CTS 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 8. Nút bật/tắt Trình xác minh CTS
Kết quả của các kiểm thử được gấp lại sẽ được ghi trong cùng một báo cáo với các kiểm thử 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 thông báo bật lên cho biết đường dẫn tệp đế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 báo cáo xuống từ thiết bị đã kết nối bằng cách sử dụng
adb shell content read
hoặ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, khi triển khai Automotive và các thiết bị chạy dưới dạng người dùng phụ, hãy tải báo cáo mới nhất xuống bằng lệnh sau:
adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zip
Cách liệt kê tất cả báo cáo có trong thiết bị được kết nối:
adb shell content query --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports
Để tải một báo cáo xuống từ danh sách, bạn có thể chỉ định Mã hàng hoặc tên tệp. Ví dụ:
adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip 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/không đạt, hãy chọn kết quả trong ứng dụng CTS Verifier rồi chọn Trình đơn > Xoá.