Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

Kiểm tra cấp phép thiết bị

Đố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:

  1. Chạy các lệnh sau
    make idegen
    development/tools/idegen/idegen.sh
    
  2. 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:

  1. Đị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)
    
  2. 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:

  1. 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ển cts-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 .
  2. 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ục android-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.
  3. 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 tra afw-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ác list plans lệnh. Để xem định nghĩa kế hoạch, hãy tham khảo out/host/linux-x86/afw-th/android-cts/repository/plans .
  4. 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ác list packages lệnh. Để có thêm tùy chọn, hãy sử dụng lệnh run 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ặc li .
  • 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ặc lr .
  • Xem các lệnh list khác bằng cách sử dụng help 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
  • 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ệm com.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 .
  • 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.