Google is committed to advancing racial equity for Black communities. See how.
Trang này được dịch bởi Cloud Translation API.
Switch to English

Kiểm tra thiết bị

Trước tiên, hãy đọc Kiểm tra ứng dụng của bạn trên developer.android.com. Hãy lưu ý rằng có một số khác biệt trong cách kiểm tra thiết bị được sử dụng trong kiểm tra nền tảng.

Tóm lại, kiểm tra thiết bị cung cấp một môi trường thực thi kiểm tra đặc biệt khi được khởi chạy thông qua lệnh am instrument tools, trong đó quy trình ứng dụng được nhắm mục tiêu được khởi động lại và khởi chạy với ngữ cảnh ứng dụng cơ bản và một luồng thiết bị được bắt đầu bên trong VM quy trình ứng dụng. Mã thử nghiệm của bạn bắt đầu thực thi trên chuỗi thiết bị đo này và được cung cấp một phiên bản Instrumentation cung cấp quyền truy cập vào ngữ cảnh ứng dụng và các API để thao tác quy trình ứng dụng đang thử nghiệm.

Ý chính

  • một thiết bị đo đạc phải được khai báo trong gói ứng dụng, với <instrumentation> lồng trong <manifest> của tệp kê khai gói ứng dụng.
  • về mặt kỹ thuật, một tệp kê khai gói ứng dụng có thể chứa nhiều <instrumentation> , mặc dù nó không được sử dụng phổ biến trong lĩnh vực này.
  • mỗi <instrumentation> phải chứa:
    • thuộc tính android:name : nó phải là tên của lớp con của Instrumentation có trong ứng dụng thử nghiệm, thường là trình chạy thử nghiệm đang được sử dụng, ví dụ: android.support.test.runner.AndroidJUnitRunner
    • một thuộc tính android:targetPackage phải được xác định. Giá trị của nó phải được đặt thành gói ứng dụng đang thử nghiệm.

Tóm tắt các bước

  1. Dưới đây là các điểm đến phổ biến cho các bài kiểm tra kín đối với các dịch vụ khung:

    frameworks/base/core/tests/coretests
    frameworks/base/services/tests/servicestests
    

    Nếu bạn đang thêm một mô-đun thiết bị đo mới hoàn toàn cho thành phần của mình, hãy xem

  2. Tuân theo quy ước hiện có nếu bạn đang thêm các bài kiểm tra vào một trong các vị trí ở trên. Nếu bạn đang thiết lập mô-đun thử nghiệm mới, vui lòng thực hiện theo thiết lập AndroidManifest.xmlAndroid.mk ở một trong các vị trí ở trên

  3. Xem framework / base / core / tests / coretests / để biết ví dụ. Lưu ý những dòng sau để cài đặt các ứng dụng bổ sung:

    <option name="test-file-name" value="FrameworksCoreTests.apk" />
    <option name="test-file-name" value="BstatsTestApp.apk" />
    
  4. Đừng quên đánh dấu bài kiểm tra của bạn là @SmallTest , @MediumTest hoặc @LargeTest

  5. Xây dựng mô-đun thử nghiệm với make, ví dụ:

    make FrameworksCoreTests -j
    
  6. Chạy các bài kiểm tra:

    make tradefed-all -j
    tradefed.sh run template/local_min --template:map test=FrameworksCoreTests
    
  7. Nếu không sử dụng Tradefed, hãy cài đặt và chạy thử nghiệm theo cách thủ công:

    1. Cài đặt apk đã tạo:
    adb install -r ${OUT}/data/app/FrameworksCoreTests/FrameworksCoreTests.apk
    

    Mẹo: bạn sử dụng adb shell pm list instrumentation để tìm các thiết bị bên trong apk vừa cài đặt

    1. Chạy các bài kiểm tra với các tùy chọn khác nhau:

      1. tất cả các bài kiểm tra trong apk

        adb shell am instrument -w com.android.frameworks.coretests\
          /android.support.test.runner.AndroidJUnitRunner
        
      2. tất cả các bài kiểm tra trong một gói Java cụ thể

        adb shell am instrument -w -e package android.animation \
          com.android.frameworks.coretests\
          /android.support.test.runner.AndroidJUnitRunner
        
      3. tất cả các bài kiểm tra theo một lớp cụ thể

        adb shell am instrument -w -e class \
          android.animation.AnimatorSetEventsTest \
          com.android.frameworks.coretests\
          /android.support.test.runner.AndroidJUnitRunner
        
      4. một phương pháp kiểm tra cụ thể

        adb shell am instrument -w -e class \
          android.animation.AnimatorSetEventsTest#testCancel \
          com.android.frameworks.coretests\
          /android.support.test.runner.AndroidJUnitRunner
        

Thử nghiệm của bạn có thể đưa ra khẳng định rõ ràng là đạt hoặc không thành công bằng cách sử dụng các API JUnit ; Ngoài ra, bất kỳ trường hợp ngoại lệ nào không được cân nhắc cũng sẽ gây ra lỗi chức năng.

Để tạo ra các chỉ số hiệu suất, mã kiểm tra của bạn có thể gọi Instrumentation#sendStatus để gửi danh sách các cặp khóa-giá trị. Điều quan trọng cần lưu ý là:

  1. số liệu có thể là số nguyên hoặc dấu phẩy động
  2. mọi giá trị không phải số sẽ bị loại bỏ
  3. apk kiểm tra của bạn có thể là kiểm tra chức năng hoặc kiểm tra chỉ số, tuy nhiên, việc kết hợp cả hai hiện không được hỗ trợ