Đối với các thiết bị chạy Android 6 hoặc Android 7, bạn có thể kiểm tra việc cung cấp thiết bị bằng Android Enterprise (AE) Test Harness, đây là một bộ thử nghiệm để xác thực khả năng tương thích doanh nghiệp của các thiết bị Android. Khai thác bao gồm các ứng dụng hỗ trợ, trường hợp thử nghiệm, tệp cấu hình và trình chạy thử nghiệm ( afw-test-tradefed
) được xây dựng trên cts-tradefed
. Trước khi thiết lập Khai thác kiểm tra AE, hãy đảm bảo hoàn thành Cấp phép cho Quản trị thiết bị .
Đối với các thiết bị chạy Android 8 trở lên, việc sử dụng Khai thác kiểm tra AE không được dùng nữa .
Thiết lập môi trường phát triển
Môi trường phát triển cho AE Test Harness tương tự như hệ điều hành Android. Làm theo các bước trong Yêu cầu để thiết lập máy phát triển.
Đang tải xuống mã nguồn
Tải xuống mã nguồn Khai thác thử nghiệm AE bằng cách sử dụng các bước trong Tải xuống nguồn . Mã nguồn AE Test Harness nằm trong dự án ./test/AfwTestHarness
. Tên nhánh xác định phiên bản AE Test Harness để tải xuống (mỗi nền tảng Android có một phiên bản AE Test Harness riêng). Ví dụ: tên nhánh của Android 7.0 Nougat là afw-test-harness-nougat-dev
. Để khởi tạo repo và tải xuống mã nguồn cho nhánh này, hãy sử dụng các lệnh sau:
mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
repo init -u https://android.googlesource.com/platform/manifest -b afw-test-harness-nougat-dev
repo sync -j24
Để kiểm tra mã nguồn cho một phiên bản khác, hãy chỉ định nhánh với thẻ tương ứng. Các chi nhánh có sẵn bao gồm:
Tên chi nhánh | Nền tảng Android được hỗ trợ |
---|---|
afw-test-harness-nougat-dev | Android 7.0 |
afw-test-harness-2.1 | Android 7.0 |
afw-test-harness-marshmallow-dev | Android 6.0 |
afw-test-harness-1.5 | Android 6.0 |
Các dự án phụ thuộc khác cần thiết để xây dựng bộ khai thác cũng được tải xuống cùng với mã nguồn.
Xem trong Android Studio
Để xem và chỉnh sửa mã nguồn trong Android Studio:
- Chạy các lệnh sau
make idegen
development/tools/idegen/idegen.sh
- Trong Android Studio, mở
android.ipr
.
Mã nguồn AE Test Harness đang được test/AfwTestHarness
.
Định cấu hình khai thác thử nghiệm AE
Bạn có thể tùy chỉnh khai thác bằng cách định cấu hình test/AfwTestHarness/afw-test.props
. Để chạy thành công dây nịt, hãy hoàn thành các bước sau:
- Định cấu hình mạng Wi-Fi trong
afw-test.props
với các thuộc tính sau:wifi_ssid wifi_password (optional) wifi_security_type (optional, available options are: NONE, WEP or WPA)
- Lấy ít nhất một tài khoản từ miền được liên kết với Kiểm tra DPC làm bộ điều khiển chính sách thiết bị của miền đó. Chỉ định các chi tiết trong
afw-test.props
với các thuộc tính sau:work_account_username work_account_password
Khai thác thử nghiệm AE sử dụng DPC thử nghiệm để kiểm tra các luồng cung cấp, vì vậy các tài khoản phải liên kết với DPC thử nghiệm để chạy khai thác thử nghiệm.
Xây dựng Khai thác thử nghiệm AE
Khởi tạo cấu hình bản dựng bằng cách sử dụng:
source build/envsetup.sh
lunch
Chọn loại thiết bị và nhấn Enter .
Xây dựng dây nịt bằng cách sử dụng:
make afw-test-harness -j32
Điều này tạo ra một thư mục ( out/host/linux-x86/afw-th/android-cts
) với tất cả các tệp nhị phân, tệp cấu hình và công cụ cần thiết để chạy khai thác thử nghiệm. Thư mục này cũng được nén thành một tệp ( out/host/linux-x86/afw-th/android-afw-test-harness.zip
) để phân phối.
Chạy Khai thác Kiểm tra AE
Sử dụng các bước sau để chạy Khai thác kiểm tra AE:
- Trong môi trường xây dựng của bạn, khởi chạy trình chạy thử nghiệm bằng cách sử dụng:
afw-test-tradefed
Thao tác này khởi động bảng điều khiểncts-tf
, tải kế hoạch thử nghiệm, trường hợp thử nghiệm vàafw-test.props
từout/host/linux-x86/afw-th/android-cts
. - Từ thư mục đã giải nén của
android-afw-test-harness.zip
, khởi chạy trình chạy thử nghiệm bằng cách sử dụng:cts-tf> ./android‐cts/tools/afw-test‐tradefed
Thao tác này tải các kế hoạch thử nghiệm, trường hợp thử nghiệm vàafw-test.props
từ thư mụcandroid-cts
. Đảm bảo./android‐cts/repository/testcases/afw-test.props
có tài khoản công việc và cấu hình Wi-Fi. - Chạy kế hoạch thử nghiệm. Mỗi kế hoạch thử nghiệm là một tệp XML chứa một tập hợp các gói thử nghiệm từ thư mục gói thử nghiệm
AfwTestHarness/tests
. Các kế hoạch phổ biến bao gồm:-
afw-userdebug-build
. Chứa tất cả các gói thử nghiệm yêu cầu xây dựng gỡ lỗi người dùng. -
afw-user-build
. Chạy trên bản dựng của người dùng nhưng yêu cầu thiết bị thử nghiệm phải được thiết lập đúng cách, bao gồm hoàn thành thiết lập ban đầu và bật gỡ lỗi USB.
Để chạy kế hoạch kiểm traafw-userdebug-build
, hãy sử dụng:cts-tf> run cts --plan afw-userdebug-build
Để xem tất cả các kế hoạch kiểm tra, hãy sử dụng cáclist plans
lệnh. Để xem định nghĩa kế hoạch, hãy tham khảoout/host/linux-x86/afw-th/android-cts/repository/plans
. -
- Chạy gói thử nghiệm. Để chạy một gói thử nghiệm duy nhất, hãy sử dụng
cts-tf> run cts --package com.android.afwtest.NfcProvisioning
Để xem tất cả các gói, hãy sử dụng cáclist packages
lệnh. Để có thêm tùy chọn, hãy sử dụng lệnhrun cts --help
.
Gỡ lỗi khai thác kiểm tra AE
Chạy tất cả các lệnh trong bảng điều khiển afw-test-tradefed ( cts-tf
), bạn có thể khởi chạy bằng cách chạy afw-test-tradefed
.
- Hiển thị thêm thông tin với cờ
-l INFO
hoặc-l DEBUG
. Ví dụ:cts-tf> run cts ‐‐plan afw-userdebug-build -l DEBUG
- Chạy thử nghiệm khai thác trên một thiết bị cụ thể với cờ
-s
. Ví dụ:cts-tf> run cts ‐‐plan afw-userdebug-build -l DEBUG -s device_sn
- Chạy thử nghiệm khai thác trên tất cả các thiết bị được kết nối với cờ
--all-devices
. Ví dụ:cts-tf> run cts ‐‐plan afw-userdebug-build -l DEBUG --all-devices
- Xem các thực thi đang chạy hiện tại bằng cách sử dụng lệnh
list invocations
hoặcli
. - Xem tóm tắt các lần thực thi thử nghiệm trước đây bằng cách sử dụng
list results
hoặclr
. - Xem các lệnh
list
khác bằng cách sử dụnghelp list
. - Theo dõi logcat thời gian thực với bộ lọc bằng
afwtest
, sau đó mở một thiết bị đầu cuối khác và khởi động logcat bằng:adb logcat | grep afwtest
. Sau khi kiểm tra hoàn thành:- Xem các lần đăng
out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time
. Toàn bộ nhật ký thiết bị và nhật ký máy chủ (nhật kýafw-test-tradefed
) được lưu trong các tệp zip riêng biệt. - Tìm thông tin liên quan bằng cách tìm kiếm afwtest trên logcat của thiết bị. Ví dụ:
zless out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time /device_logcat_ random-number .zip | grep afwtest
- Để xem toàn bộ nhật ký afw-test-tradefed, hãy sử dụng:
zless out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time /host_log_ random-number .zip
- Xem các lần đăng
- Gói thử nghiệm tự động hóa quy trình cấp phép doanh nghiệp bằng cách đi qua các trang giao diện người dùng và ghi lại nhật ký điều hướng trong tệp logcat thiết bị cho mỗi trang. Ví dụ:
afwtest.AutomationDriver: Navigating:com.android.afwtest.uiautomator.pages.gms.AddAccountPage
Các trang giao diện người dùng cho gói thử nghiệmcom.android.afwtest.NfcProvisioning
bao gồm:-
com.android.afwtest.uiautomator.pages.managedprovisioning.NfcProvisioningPage
-
com.android.afwtest.uiautomator.pages.PageSkipper
-
com.android.afwtest.uiautomator.pages.LandingPage
-
- Nếu kiểm tra không thành công trong quá trình cấp phép, logcat có lỗi tương tự như:
TestRunner: java.lang.RuntimeException: Failed to load page: com.android.afwtest.uiautomator.pages.packageinstaller.DeviceAccessPage
Điều này thường do lỗi trong trang giao diện người dùng trước đó hoặc trang không tải được, vì vậy hãy thử tìm các thông báo lỗi khác trong logcat trước lỗi này , sau đó cố gắng tái tạo thủ công theo quy trình cấp phép. - Nếu một gói thử nghiệm không thành công:
- Ảnh chụp màn hình được lưu vào
out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time
bằng cú pháp sau:screenshot-test_ test_class_full_name _ test_case_name - random_number .png
. Thông tin này cũng được ghi vào nhật ký máy chủ. - Báo cáo lỗi được lưu vào
out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time
dưới dạng:bug- test_class_full_name _ test_case_name - random_number .zip
.
- Ảnh chụp màn hình được lưu vào
- Sau khi tất cả các gói thử nghiệm thực thi, một ảnh chụp màn hình được chụp và lưu vào
out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time
dưới dạng:screenshot- random_number .png
. Thông tin này cũng được ghi vào nhật ký máy chủ.
Câu hỏi thường gặp
Tôi có thể chạy kế hoạch thử nghiệm afw-userdebug-build
trên một thiết bị được cài sẵn bản dựng người dùng không?
Không. Các gói thử nghiệm trong gói afw-userdebug-build
đặt lại thiết bị thử nghiệm trước khi chạy quy trình thử nghiệm thực tế và yêu cầu bật tính năng tự động gỡ lỗi adb
. Với bản dựng của người dùng, bạn chỉ có thể bật gỡ lỗi adb
bằng cách thay đổi cài đặt theo cách thủ công trong Tùy chọn nhà phát triển.
Tôi có thể chạy kế hoạch thử nghiệm afw-user-build
trên một thiết bị được cài đặt sẵn userdebug không?
Có, nhưng chúng tôi khuyên bạn nên chạy kế hoạch thử nghiệm này trên bản dựng người dùng.
Đôi khi thử nghiệm của tôi không thành công vì tải giao diện người dùng mất quá nhiều thời gian. Làm thế nào tôi có thể sửa lỗi này?
Định cấu hình cài đặt timeout_size
trong ./android-cts/repository/testcases/afw-test.props
. Các cài đặt hợp lệ là: S, M, L, XL, XXL.
Gói thử nghiệm com.android.afwtest.NfcProvisioning
(hoặc SuwDoProvisioning
) không thành công trên thiết bị của tôi vì thiết lập ban đầu được cài đặt hiển thị giao diện người dùng tùy chỉnh (chẳng hạn như Điều khoản & Điều kiện) sau khi cấp phép hoàn tất. Làm cách nào để bỏ qua giao diện người dùng tùy chỉnh này?
Phải có giao diện người dùng tối thiểu sau quá trình cấp phép. Khai thác thử nghiệm sẽ tự động bỏ qua giao diện người dùng đó nếu giao diện người dùng có nút có văn bản hoặc mô tả nội dung có ý nghĩa chứa bất kỳ từ nào sau đây: Bỏ qua, Kết thúc, Xong, Chấp nhận, Đồng ý, Tiếp theo, Tiếp tục hoặc Tiến hành. Ngoài ra, bạn có thể xác định một nút trong afw-test.props
để định cấu hình khai thác thử nghiệm để bỏ qua giao diện người dùng của bạn. Thí dụ:
oem_widgets=your_btn your_btn.text=your_customized_text your_btn.package=your_package your_btn.action=click
Để xác định nhiều tiện ích con, hãy phân tách bằng dấu phẩy.
Gói thử nghiệm com.android.afwtest.NfcProvisioning
(hoặc SuwDoProvisioning
) không thành công và màn hình giao diện người dùng cuối cùng là "Xác minh tài khoản của bạn". Tại sao điều này xảy ra và làm cách nào để khôi phục thiết bị thử nghiệm?
Lỗi này xảy ra do gói thử nghiệm trước đó không thể xóa Bảo vệ khôi phục cài đặt gốc khi kết thúc thử nghiệm. Bạn phải nhập thủ công tài khoản để mở khóa thiết bị.
Thiết bị của tôi cần thêm thời gian để khôi phục cài đặt gốc. Tôi có thể kéo dài thời gian chờ khôi phục cài đặt gốc không?
Đúng. Định cấu hình cài đặt factory_reset_timeout_min
trong afw-test.props
. Cài đặt hợp lệ chỉ trong vài phút; bạn có thể đặt thành bất kỳ số phút nào hoạt động với thiết bị của mình.