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ị mà 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 sử dụng các thiết bị bên ngoài được thiết lập 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 hỗ trợ Bluetooth LE, hãy đặt ít nhất 3 đèn hiệu Bluetooth LE trong phạm vi 5 mét tính từ DUT để kiểm thử tính năng quét Bluetooth LE. Ngoài ra:
- Bạn không cần định cấu hình hoặc phát bất cứ thứ gì cụ thể cho các beacon.
- Đèn hiệu có thể thuộc bất kỳ loại nào, bao gồm cả iBeacon, Eddystone hoặc thậm chí là các thiết bị mô phỏng đèn hiệu 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 đến và duy trì số khung hình tối đa mỗi giây (FPS) như đã chỉ định trong
CONTROL_AE_TARGET_FPS_RANGE
. - Chế độ thiết lập này áp dụng cho tất cả các cảm biến camera 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ợ camera bên ngoài (chẳng hạn như webcam USB), hãy cắm camera 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 đến và duy trì số khung hình tối đa mỗi giây (FPS) như đã 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 định vị 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 để nhận 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ả bộ 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ổ để DUT có thể trực tiếp nhận đủ tín hiệu GNSS từ mộ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 máy khách riêng biệt.
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 di động IPv6 hoặc VPN để vượt qua các bài kiểm tra IPv6, hãy sử dụng AP 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 của 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ợ Wi-Fi STA hoặc STA concurrency, hãy thiết lập ít nhất 2 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 có SSID khác nhau hoặc trên cùng một SSID có BSSID khác nhau.
(không bắt buộc) Nếu DUT của bạn hỗ trợ thời gian khứ hồi (RTT) của Wi-Fi, hãy thiết lập một thiết bị hỗ trợ RTT của Wi-Fi:
- Đặt thiết bị RTT Wi-Fi trong phạm vi 40 feet (12 mét) tính từ DUT.
- Bật thiết bị RTT Wi-Fi.
Dưới đây là 2 thiết bị được đề xuất hỗ trợ Wi-Fi RTT: - Google Wifi - Điểm truy cập fitlet2 của Compulab (đặt băng thông thành 40 MHz ở tần số 5 GHz).
Thiết lập máy tính để bàn
Trước khi chạy các bài 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 phù hợp, như mô tả trong các phần sau.
Yêu cầu về thiết bị Meet
Máy tính để bàn CTS của bạn phải đáp ứng hoặc vượt quá các yêu cầu sau về phần cứng:
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à mức tăng trong việc đặt trước dung lượng heap 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ó GNU C Library (glibc) 2.17 trở lên.
Bạn nên đặt ngôn ngữ của Hệ điều hành thành "Tiếng Anh" để CTS có thể phân giải đường dẫn một cách chính xác.
Cài đặt phần mềm dành 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 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
để 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 các gói, hãy xem bài viết Cài đặt các 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 Java Development Kit (JDK) phù 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 và 14, hãy cài đặt virtualenv. Bạn phải có công cụ virtualenv để kiểm thử trên 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 của 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 của Bộ kiểm tra tính tương thích khớp với phiên bản Android của thiết bị và tất cả cá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 các tệp nội dung nghe nhìn CTS. Các tệp đa phương tiện bao gồm các đoạn video trong Big Buck Bunny. Các đoạn video này được Blender Foundation bảo vệ bản quyền 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, CTS sẽ tự động tải xuống một số tệp CTS liên quan đến Mainline. Tuỳ thuộc vào tốc độ mạng, quá trình tải xuống này sẽ mất thêm 10 phút hoặc lâu hơn vào thời gian chạy CTS.
Để tránh thời gian chạy CTS bổ sung 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 một hình ảnh hệ thống dựa trên bản dựng người dùng tương thích đã biết (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 thông tin 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 có
ro.product.first_api_level
được đặt thành cấp độ API mà thiết bị đã ra mắt 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 của CTS phụ thuộc vào bản dựng mà thiết bị được vận chuyển ban đầu. Ví dụ: những thiết bị ban đầu đi kèm 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 những thiết bị đi kèm 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 các đường liên kết đến gói cần 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 các 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 có 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 applet mẫu vào Phần tử bảo mật 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ột màn hình với thiết bị.
Nếu thiết bị có khe cắm thẻ nhớ, hãy cắm thẻ SD trống vào. Hãy 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ó cấp tốc độ 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 thẻ SIM đã kích hoạt vào từng khe cắm. Nếu thiết bị hỗ trợ SMS, 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 đều phải hỗ trợ việc lưu trữ số quay tắt (ADN). Thẻ GSM và USIM có tệp chuyên dụng viễn thông (DFTelecom) đáp ứng yêu cầu này.
Đảm bảo thiết bị của bạn có một 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 trên thiết bị về trạng thái ban đầu.
Đặ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 hoặc tính năng Wi-Fi hoặc 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 máy khách riêng biệt và có kết nối Internet. Để biết nội dung giải thích về các ứng dụng riêng biệt, hãy xem phần Thiết lập môi trường thực.
Đảm bảo bạn không đặ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 sẽ 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 ở định dạng 12 giờ.
Bật Tuỳ chọn cho nhà phát triển > Luôn thức.
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 modem mô phỏng.
Bạn phải dùng chế độ cài đặt này cho một số kiểm thử cụ thể về điện thoại.
Trên máy tính:
Khởi 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ữ không chân bằng cách sử dụng chế độ cài đặt hỗ trợ tiếp cận mà người dùng có thể truy cập (không bị ẩn).
Sao chép các tệp nội dung nghe nhìn CTS vào DUT:
- Di chuyển (
cd
) đến đường dẫn nơi các tệp đa phương tiện được tải xuống và giải nén. Thay đổi quyền đối với 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 lựa chọn nối tiếp (
-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
- Di chuyển (
Tải các 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:
Lấy 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 Mainline xuống.Quá trình tải xuống 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ị | Các gói (nếu APEX được hỗ trợ) | Các gói (nếu APEX không được hỗ trợ) | ||
---|---|---|---|---|
ARM | x86 | ARM | x86 | |
Android 16 |
16-arm-release
|
android16-x86-release
|
android16-arm-CtsShim.apk
|
android16-x86-CtsShim.apk
|
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 với phần Chạy các kiểm thử CTS tự động.