Trước khi có thể thực thi các kiểm thử CTS tự động, hãy chuẩn bị môi trường thực, thiết lập máy trạm và định cấu hình thiết bị bạn đang kiểm thử.
Thiết lập môi trường thực tế
Một số kiểm thử CTS yêu cầu thiết lập các thiết bị bên ngoài gần DUT. Cách thiết lập môi trường thực tế:
(không bắt buộc) Nếu DUT của bạn hỗ trợ Bluetooth LE, hãy đặt ít nhất 3 beacon Bluetooth LE trong phạm vi 5 mét của DUT để kiểm thử tính năng quét Bluetooth LE. Ngoài ra:
- Bạn không cần phải định cấu hình hoặc phát ra bất kỳ thông tin cụ thể nào cho các beacon.
- Các beacon có thể là loại bất kỳ, bao gồm iBeacon, Eddystone hoặc thậm chí là các thiết bị mô phỏng beacon BLE.
Đặt điện thoại trước một cảnh, chẳng hạn như tường hoặc trần nhà, ở khoảng cách tương đương với khoảng cách lấy nét tối thiểu của DUT. Ngoài ra:
- Cảnh phải có đủ ánh sáng để cho phép các cảm biến đang được kiểm thử đạt được và duy trì số khung hình mục tiêu được định cấu hình tối đa mỗi giây (FPS) như được chỉ định trong
CONTROL_AE_TARGET_FPS_RANGE
. - Chế độ thiết lập này áp dụng cho tất cả cảm biến máy ảnh do
getCameraIdList
báo cáo khi kiểm thử lặp lại trên các thiết bị được liệt kê và đo lường hiệu suất riêng lẻ. - Nếu DUT hỗ trợ máy ảnh bên ngoài, chẳng hạn như webcam USB, hãy cắm máy ảnh bên ngoài khi chạy CTS. Nếu không, các kiểm thử CTS sẽ không thành công.
- Cảnh phải có đủ ánh sáng để cho phép các cảm biến đang được kiểm thử đạt được và duy trì số khung hình mục tiêu được định cấu hình tối đa mỗi giây (FPS) như được chỉ định trong
(không bắt buộc) Nếu DUT của bạn hỗ trợ hệ thống định vị toàn cầu (GPS) hoặc hệ thống vệ tinh điều hướng toàn cầu (GNSS) khác, hãy cung cấp tín hiệu GNSS cho DUT ở mức tín hiệu phù hợp để thu sóng và tính toán vị trí. Ngoài ra:
- GPS phải tuân thủ ICD-GPS-200C.
- Tín hiệu GNSS có thể thuộc bất kỳ loại nào, bao gồm cả trình mô phỏng vệ tinh hoặc bộ lặp tín hiệu ngoài trời.
- Bạn có thể đặt DUT gần cửa sổ để thiết bị này có thể trực tiếp nhận đủ tín hiệu GNSS từ vệ tinh.
Đảm bảo mạng Wi-Fi của bạn hỗ trợ IPv4 và IPv6, có kết nối Internet với DNS cho IPv4 và IPv6, hỗ trợ truyền đa hướng IP và có thể coi DUT là một ứng dụng khách biệt lập.
Nếu bạn không có quyền truy cập vào mạng IPv6 gốc, mạng của nhà mạng IPv6 hoặc VPN để vượt qua các bài kiểm thử IPv6, hãy sử dụng điểm truy cập Wi-Fi và đường hầm IPv6.
Đảm bảo DUT đã đặt cờ
UP
,BROADCAST
vàMULTICAST
trên giao diện Wi-Fi.Đảm bảo giao diện Wi-Fi đã được chỉ định địa chỉ IPv4 và IPv6. Để kiểm tra các thuộc tính giao diện Wi-Fi, hãy chạy
adb shell ifconfig
.(không bắt buộc) Nếu DUT của bạn hỗ trợ tính năng đồng thời Wi-Fi STA hoặc STA, hãy thiết lập ít nhất hai mạng Wi-Fi. Các mạng Wi-Fi này phải chạy trên các băng tần khác nhau với SSID khác nhau hoặc trên cùng một SSID với BSSID khác nhau.
(không bắt buộc) Nếu DUT của bạn hỗ trợ thời gian truyền dữ liệu qua lại (RTT) trên Wi-Fi, hãy thiết lập một thiết bị hỗ trợ RTT trên Wi-Fi:
- Đặt thiết bị Wi-Fi RTT trong phạm vi 40 feet (12 m) của DUT.
- Bật nguồn thiết bị Wi-Fi RTT.
Sau đây là hai thiết bị được đề xuất hỗ trợ Wi-Fi RTT: - Google Wifi - Điểm truy cập fitlet2 của Compulab (được đặt băng thông 40 MHz ở 5 GHz).
Thiết lập máy tính để bàn
Trước khi chạy các chương trình kiểm thử tự động CTS, hãy đảm bảo rằng máy tính của bạn đáp ứng các yêu cầu về phần cứng và hệ điều hành, đồng thời đã cài đặt phần mềm thích hợp, như mô tả trong các phần sau.
Đáp ứng các yêu cầu về phần cứng
Máy tính để bàn CTS phải đáp ứng hoặc vượt quá các yêu cầu về phần cứng sau:
Hệ thống x86 64 bit
Ít nhất 256 GB dung lượng ổ đĩa trống để đáp ứng số lượng trường hợp kiểm thử CTS tăng lên và tăng mức đặt trước không gian vùng nhớ khối xếp Java trong Tradefed
RAM tối thiểu 32 GB
Đáp ứng các yêu cầu về hệ điều hành
Máy phát triển của bạn phải chạy một bản phân phối Linux 64 bit có Thư viện GNU C (glibc) 2.17 trở lên.
Cài đặt phần mềm cho máy tính
Cách cài đặt phần mềm máy tính phù hợp cho CTS:
Cài đặt các phiên bản mới nhất của Cầu gỡ lỗi Android (adb) và Công cụ đóng gói tài nguyên Android (AAPT2), đồng thời thêm vị trí của các công cụ đó vào đường dẫn hệ thống của máy:
- Làm theo hướng dẫn ở đầu tài liệu về Trình quản lý SDK để cài đặt công cụ dòng lệnh
sdkmanager
. Đường liên kết để tải các công cụ dòng lệnh xuống nằm trong phần Chỉ các công cụ dòng lệnh ở cuối trang tải Android Studio xuống. - Cập nhật đường dẫn hệ thống để bao gồm vị trí của
sdkmanager
mới cài đặt. - Sử dụng
sdkmanager
, hãy cài đặt các góiplatform-tools
vàbuild-tools
mới nhất. Các gói này chứa adb và AAPT2. Để biết thông tin về cách cài đặt gói, hãy xem phần Cài đặt gói. - Cập nhật đường dẫn để bao gồm vị trí của các công cụ adb và AAPT2 mới cài đặt.
- Xác minh rằng adb và AAPT2 nằm trong đường dẫn của bạn.
- Làm theo hướng dẫn ở đầu tài liệu về Trình quản lý SDK để cài đặt công cụ dòng lệnh
Cài đặt phiên bản Bộ phát triển Java (JDK) thích hợp:
- Đối với Android 11 trở lên, hãy cài đặt JDK 11.
- Đối với Android 10 trở xuống, hãy xem phần Thiết lập CTS (AOSP 10 trở xuống).
(không bắt buộc) Đối với Android 13 trở lên, hãy cài đặt virtualenv. Công cụ virtualenv là bắt buộc đối với các kiểm thử nhiều thiết bị.
Để đảm bảo bạn đã cài đặt Python, hãy nhập
python3
. Phiên bản và ngày Python sẽ xuất hiện cho biết python đã được cài đặt đúng cách.Tải xuống và mở các gói CTS từ tệp tải xuống Bộ kiểm thử tính tương thích khớp với phiên bản Android của thiết bị và tất cả giao diện nhị phân ứng dụng (ABI) mà thiết bị của bạn hỗ trợ.
Tải xuống và mở phiên bản mới nhất của tệp phương tiện CTS. Các tệp phương tiện bao gồm các đoạn video từ Big Buck Bunny, thuộc bản quyền của Blender Foundation theo giấy phép Creative Commons Attribution 3.0.
(không bắt buộc) Khi bạn chạy CTS lần đầu tiên, công cụ này sẽ tự động tải một số tệp CTS liên quan đến Mainline xuống. Tuỳ thuộc vào tốc độ mạng, quá trình tải xuống này sẽ thêm từ 10 phút trở lên vào thời gian chạy CTS.
Để tránh thời gian chạy CTS tăng thêm này, bạn có thể tải các tệp CTS liên quan đến Mainline xuống trước khi chạy CTS. Để biết thông tin về cách tải các tệp CTS liên quan đến Mainline xuống, hãy xem phần Tải các tệp CTS liên quan đến Mainline xuống.
Chuẩn bị DUT
Sau khi thiết lập máy tính để bàn, bạn phải thiết lập và định cấu hình DUT.
Thiết lập DUT
Cách thiết lập DUT:
Đảm bảo DUT đang chạy hình ảnh hệ thống dựa trên bản dựng người dùng tương thích (Android 4.0 trở lên) từ Tên mã, Thẻ và Số bản dựng và sử dụng biến thể bản dựng
user
. Để biết thêm về các biến thể bản dựng, hãy xem phần Chọn mục tiêu.Nếu DUT đang chạy Android 13 trở lên, hãy đảm bảo bản dựng đã đặt
ro.product.first_api_level
thành cấp độ API mà thiết bị được phát hành thương mại. Để đặt giá trị này, hãy thực hiện thay đổi sau đối với tệpdevice.mk
:PRODUCT_SHIPPING_API_LEVEL := 21
Một số yêu cầu nhất định của CTS phụ thuộc vào bản dựng mà thiết bị ban đầu được vận chuyển. Ví dụ: các thiết bị ban đầu được vận chuyển với các bản dựng cũ hơn có thể bị loại trừ khỏi các yêu cầu hệ thống áp dụng cho các thiết bị được vận chuyển với các bản dựng mới hơn. Để biết các giá trị cấp độ API hợp lệ, hãy xem phần Tên mã, thẻ và số bản dựng. Để biết thêm thông tin về
ro.product.first_api_level
, hãy xem phần Cấp độ API của nhà cung cấp.Đối với Android 10 trở xuống, hãy xem phần Thiết lập CTS (AOSP 10 trở xuống).
Nếu thiết bị của bạn hỗ trợ tính năng quản lý gói APEX:
- Tải gói shim APEX xuống cho phiên bản Android và cấu trúc phần cứng cụ thể của bạn. Hai cột bên trái trong bảng gói shim cung cấp đường liên kết đến gói để tải xuống.
- Sao chép gói đã tải xuống vào
/system/apex
. - Đổi tên tệp thành
com.android.apex.cts.shim.apex
.
Nếu thiết bị của bạn không hỗ trợ tính năng quản lý gói APEX:
- Tải các gói shim APEX xuống cho phiên bản Android và cấu trúc phần cứng cụ thể của bạn. Hai cột bên phải trong bảng gói shim cung cấp đường liên kết đến các gói để tải xuống.
- Sao chép
CtsShim.apk
vào/system/app/
- Đổi tên
CtsShim.apk
thànhCtsShimPrebuilt.apk
- Sao chép
CtsShimPriv.apk
vào/system/priv-app/
- Đổi tên
CtsShimPriv.apk
thànhCtsShimPrivPrebuilt.apk
Nếu thiết bị của bạn báo cáo nhiều phần tử bảo mật:
- Tải
google-cardlet.cap
xuống. - Sao chép tệp đã tải xuống vào
/data/uicc/cardlets/
.
- Tải
Nếu thiết bị của bạn báo cáo nhiều phần tử bảo mật, hãy cài đặt trình đơn con mẫu vào Phần tử bảo mật được nhúng (eSE) của DUT hoặc vào thẻ SIM mà DUT sử dụng. Để biết thêm thông tin, hãy xem bài viết Kiểm thử CTS cho Phần tử bảo mật.
Nếu thiết bị của bạn không có màn hình tích hợp, hãy kết nối màn hình với thiết bị.
Nếu thiết bị có khe cắm thẻ nhớ, hãy cắm một thẻ SD trống. Sử dụng thẻ SD hỗ trợ bus tốc độ cực cao (UHS) có dung lượng SDHC hoặc SDXC hoặc thẻ có tốc độ lớp 10 trở lên để đảm bảo thẻ có thể vượt qua CTS.
Nếu thiết bị có khe cắm thẻ SIM, hãy cắm một thẻ SIM đã kích hoạt vào mỗi khe. Nếu thiết bị hỗ trợ SMS, thì mỗi thẻ SIM phải có trường số riêng. Đối với các thiết bị chạy Android 12 trở lên, tất cả thẻ SIM phải hỗ trợ lưu trữ số điện thoại rút gọn (ADN). Thẻ GSM và USIM có tệp chuyên dụng về viễn thông (DFTelecom) đáp ứng yêu cầu này.
Đảm bảo thiết bị của bạn có thẻ SIM có đặc quyền của nhà mạng CTS đáp ứng các yêu cầu được chỉ định trong phần Chuẩn bị UICC.
Định cấu hình DUT
Hãy làm theo các bước sau để định cấu hình DUT để sử dụng với CTS.
Trên DUT:
Đặt lại dữ liệu về trạng thái ban đầu cho thiết bị.
Đặt ngôn ngữ của thiết bị thành Tiếng Anh (Hoa Kỳ).
Nếu thiết bị hỗ trợ tuỳ chỉnh phông chữ mặc định, hãy đảm bảo bộ phông chữ sans-serif mặc định được đặt thành Roboto.
Nếu thiết bị có GPS, Wi-Fi hoặc tính năng mạng di động, hãy bật chế độ cài đặt vị trí.
Kết nối với mạng Wi-Fi hỗ trợ IPv6, có thể coi DUT là một ứng dụng riêng biệt và có kết nối Internet. Để biết nội dung giải thích về ứng dụng riêng biệt, hãy xem phần Thiết lập môi trường thực tế.
Đảm bảo bạn chưa đặt hình mở khoá hoặc mật khẩu.
Bật tính năng gỡ lỗi qua USB:
Chuyển đến phần Cài đặt > Giới thiệu về điện thoại rồi nhấn vào Số bản dựng 7 lần. Tuỳ chọn cho nhà phát triển xuất hiện trong danh mục cài đặt Hệ thống.
Nhấn vào Gỡ lỗi qua USB.
Để bật tính năng gỡ lỗi qua USB trên Android 10 trở xuống, hãy xem phần Thiết lập CTS (AOSP 10 trở xuống).
Đặt thời gian theo định dạng 12 giờ.
Bật Tuỳ chọn cho nhà phát triển > Luôn bật.
Tắt tính năng xác minh ứng dụng qua USB:
Chuyển đến phần Tuỳ chọn cho nhà phát triển.
Nhấn vào Xác minh ứng dụng qua USB.
Trên Android 13 trở lên, hãy bật modem mô phỏng:
Chuyển đến phần Tuỳ chọn cho nhà phát triển.
Nhấn vào Cho phép mô phỏng modem.
Bạn cần có chế độ cài đặt này để kiểm thử điện thoại cụ thể.
Trên máy tính:
Chạy trình duyệt và đóng mọi màn hình khởi động hoặc thiết lập.
Kết nối DUT với máy tính để bàn bằng cáp USB.
Nếu hệ thống nhắc bạn chấp nhận khoá RSA cho phép gỡ lỗi qua máy tính này, hãy nhấp vào Cho phép gỡ lỗi qua USB.
Đặt Roboto2 làm phông chữ sans-serif bằng cách sử dụng chế độ cài đặt có thể truy cập (không bị ẩn) của người dùng.
Sao chép các tệp nội dung nghe nhìn CTS vào DUT:
- Chuyển đến (
cd
) đường dẫn nơi tải tệp phương tiện xuống và giải nén. Thay đổi quyền của tệp:
chmod u+x copy_media.sh
Sao chép tệp:
Để sao chép các đoạn video có độ phân giải tối đa là 720x480, hãy chạy:
./copy_media.sh 720x480
Nếu bạn không chắc chắn về độ phân giải tối đa, hãy sao chép tất cả các tệp:
./copy_media.sh all
Nếu có nhiều DUT, hãy thêm tuỳ chọn số sê-ri (
-s
) của một thiết bị cụ thể vào cuối. Ví dụ: để sao chép tối đa 720x480 vào thiết bị có số sê-ri 1234567, hãy chạy:./copy_media.sh 720x480 -s 1234567
- Chuyển đến (
Tải tệp CTS liên quan đến Mainline xuống
Cách tải các tệp CTS liên quan đến Mainline xuống:
Xem cấp độ API Android trên thiết bị bằng cách chạy:
adb shell getprop ro.build.version.sdk
Làm theo hướng dẫn trong tập lệnh
download_mcts.sh
để tải các tệp CTS chính xuống.Quá trình tải xuống sẽ mất ít nhất 10 phút, tuỳ thuộc vào tốc độ mạng của bạn.
Gói shim
Bảng sau đây liệt kê các gói có sẵn cho từng phiên bản và cấu trúc thiết bị:
Phiên bản thiết bị | Gói (nếu APEX được hỗ trợ) | Gói (nếu không hỗ trợ APEX) | ||
---|---|---|---|---|
ARM | x86 | ARM | x86 | |
Android 15 |
15-arm-release
|
android15-x86-release
|
android15-arm-CtsShim.apk
|
android15-x86-CtsShim.apk
|
Android 14 |
android14-arm-release
|
android14-x86-release
|
android14-arm-CtsShim.apk
|
android14-x86-CtsShim.apk
|
Android 13 |
android13-arm-release
|
android13-x86-release
|
android13-arm-CtsShim.apk
|
android13-x86-CtsShim.apk
|
Android 12 |
android12-arm-release
|
android12-x86-release
|
android12-arm-CtsShim.apk
|
android12-x86-CtsShim.apk
|
Android 11 |
android11-arm-release
|
android11-x86-release
|
android11-arm-CtsShim.apk
|
android11-x86-CtsShim.apk
|
Android 10 |
android10-release
|
android10-arm-CtsShim.apk
|
android10-x86-CtsShim.apk
|
|
Android 9, O và O-MR1 | Không áp dụng | Không áp dụng |
arm-CtsShim.apk
|
x86-CtsShim.apk
|
Tiếp theo là gì?
Sau khi đọc tài liệu này, hãy tiếp tục Chạy kiểm thử CTS tự động.