Trang này mô tả cách chạy Bộ kiểm tra tính tương thích (CTS) để đánh giá thiết bị ảo dựa trên mã nguồn AOSP.
Tạo Cuttlefish
Trước khi chạy CTS, hãy tạo thiết bị ảo mà bạn muốn kiểm thử bằng CTS. Đối với AOSP Cuttlefish, hãy làm như sau:
source build/envsetup.shlunch aosp_cf_x86_64_only_phone-userdebugmake -j
Tạo CTS
CTS được tạo riêng biệt với các cấu phần phần mềm của thiết bị. Để tạo CTS, hãy làm theo các hướng dẫn này.
Từ thư mục gốc của cùng một cây nơi Cuttlefish được tạo, hãy chạy các lệnh sau:
source build/envsetup.shm -j cts WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY=false TARGET_PRODUCT=aosp_x86_64
Chạy nhiều thực thể Cuttlefish
Từ thư mục gốc của cùng một cây nơi Cuttlefish được tạo, hãy chạy các lệnh sau:
source build/envsetup.shlunch aosp_cf_x86_64_only_phone-userdebuglaunch_cvd --num_instances=8 --daemon
Khi các thực thể bắt đầu, hãy xác minh rằng mỗi thiết bị đều có thể truy cập adb.
adb devicesKết quả sẽ tương tự như kết quả mẫu bên dưới:
List of devices attached
127.0.0.1:6520 device
127.0.0.1:6521 device
127.0.0.1:6522 device
127.0.0.1:6523 device
127.0.0.1:6524 device
127.0.0.1:6525 device
127.0.0.1:6526 device
127.0.0.1:6527 device
Bật Wi-Fi trên các thực thể Cuttlefish
Một số bài kiểm tra CTS không thành công nếu Wi-Fi không được bật. Để bật Wi-Fi trên tất cả các thiết bị Cuttlefish được lưu trữ cục bộ, hãy làm theo các hướng dẫn này.
Từ thư mục gốc của cùng một cây nơi Cuttlefish được tạo, hãy chạy các lệnh sau:
for SERIAL in $(adb devices | grep -E '127.+device$' | cut -f1); doadb -s ${SERIAL} install -r -g tools/tradefederation/core/res/apks/wifiutil/WifiUtil.apkadb -s ${SERIAL} shell su root svc wifi enableadb -s ${SERIAL} shell am instrument -e method "connectToNetwork" -e scan_ssid "false" -e ssid "VirtWifi" -w com.android.tradefed.utils.wifi/.WifiUtildone
Chạy tập hợp con ổn định của CTS
Không phải tất cả các bài kiểm tra CTS đều vượt qua trên Cuttlefish, vì một số bài kiểm tra phù hợp hơn với các thiết bị thực. Để chạy CTS với gói kiểm thử cts-virtual-device-stable theo dõi phiên bản ổn định mới nhất trên nền tảng ảo, hãy làm theo các hướng dẫn này.
Từ thư mục gốc của cùng một cây nơi Cuttlefish được tạo, hãy chạy các lệnh sau:
source build/envsetup.shlunch aosp_cf_x86_64_only_phone-userdebugcts-tradefed run cts-virtual-device-stable --no-enable-parameterized-modules --max-testcase-run-count 2 --retry-strategy RETRY_ANY_FAILURE --reboot-at-last-retry --shard-count 8
Dự kiến bài kiểm tra sẽ chạy trong 20 đến 25 phút và in ra một bản tóm tắt tương tự như sau:
=============== Summary ===============
Total Run time: 22m 8s
184/184 modules completed
Total Tests : 92483
PASSED : 92363
FAILED : 0
IGNORED : 71
ASSUMPTION_FAILURE: 49
Shard 0 used: [127.0.0.1:6522]
Shard 1 used: [127.0.0.1:6525]
Shard 2 used: [127.0.0.1:6524]
Shard 3 used: [127.0.0.1:6521]
Shard 4 used: [127.0.0.1:6520]
Shard 5 used: [127.0.0.1:6527]
Shard 6 used: [127.0.0.1:6526]
Shard 7 used: [127.0.0.1:6523]
============== End of Results ==============
Dọn dẹp
Khi các bài kiểm tra hoàn tất, hãy dừng các thiết bị ảo.
Từ thư mục gốc của cùng một cây nơi Cuttlefish được tạo, hãy chạy các lệnh sau:
source build/envsetup.shlunch aosp_cf_x86_64_only_phone-userdebugstop_cvd