使用 CTS Verifier

Android Compatibility Test Suite Verifier (CTS Verifier) 可補足 Compatibility Test Suite (CTS) 的功能。雖然 CTS 會檢查可自動化的 API 和函式,但 CTS Verifier 會針對無法在靜止裝置上進行測試的 API 和函式 (例如音訊品質、觸控螢幕、加速計和相機),提供測試。

需求條件

執行 CTS Verifier 前,請確認您具備下列設備:

  • 已成功通過 CTS 驗證 Android API 相容性的 Android 裝置。這是要測試的裝置 (DUT)。
  • 搭載 USB 2.0 相容連接埠的 Linux 電腦。所有與 DUT 的連線都會經過這個通訊埠。
  • 第二部 Android 裝置,已知支援藍牙、Wi-Fi 直連、Wi-Fi Aware、UWB (如果受測物件支援 UWB) 和 NFC 主機卡模擬 (HCE) 實作。
  • 已設定存取點名稱和密碼的 Wi-Fi 路由器。路由器應可斷開網際網路連線,但不能關閉。

請務必準備三腳架、裝置架,以及 UWB、Wi-Fi NAN 和藍牙 RSSI 的距離 (鄰近) 測量測試所需的預先測量距離。詳情請參閱狀態校正

NFC 測試的 UICC 相關規定

CTS Verifier 包含下列 NFC 測試案例:

  • 欄位關閉 (使用 0x54 的交易資料)
  • 取消選取 (使用 0x52 的交易資料)
  • HCI 指令 (0025000000) (使用 0x02 的交易資料)

交易事件測試需要兩部裝置,其中一部裝置必須具備 SecureElement UICC,並設有下列存取規則:

  • CtsVerifier APK 雜湊:61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
  • 授權的 NFC 事件存取應用程式 ID (AID):0xA000000476416E64726F696443545341

在模擬器方面,我們預期交易事件會將對應的活動推送至前景。

設定

將測試裝置的系統操作模式變更為三按鈕模式,步驟如下:

  1. 開啟「設定」。
  2. 依序前往「系統」 >「手勢」 >「系統操作機制」
  3. 選取任何以按鈕為基礎的導覽模式,建議使用三按鈕模式 (如有)。

如要設定 CTS Verifier 測試環境,請按照下列步驟操作:

  1. 在 Linux 電腦上:

    • 安裝 CTS 驗證器前,請先執行下列指令,允許存取非 SDK 介面。

      adb shell settings put global hidden_api_policy 1
      
    • 安裝 Android Studio

    • 下載要測試的 Android 版本的 CTS Verifier APK

  2. 將 DUT 連接至 Linux 電腦。

  3. 透過 Linux 電腦的終端機,在 DUT 上安裝 CtsVerifier.apk

    adb install -r -g CtsVerifier.apk
    
  4. 如果是 Android 10 以上版本,請執行下列指令,授予應用程式建立報表的權限。

    adb shell appops set com.android.cts.verifier android:read_device_identifiers allow
    
  5. 如果是 Android 11 以上版本,請執行下列指令,讓報表儲存在裝置外部頂層目錄下的自訂目錄中。

    adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0
    
  6. 如果是 Android 13 以上版本,請執行下列指令,允許 CTS Verifier 測試 API 存取權。

    adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier
    
  7. 如果是 Android 14 以上版本,請執行下列指令,授予應用程式開啟螢幕的權限。

    adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0
    
  8. 確認 DUT 的系統日期和時間設定正確無誤。

執行 CTS 驗證器

輕觸 DUT 上的 CTS 驗證器圖示,啟動 CTS 驗證器應用程式。

啟動器中的 CTS 驗證器圖示

圖 1. CTS 驗證器圖示

應用程式會顯示可供手動驗證的多個測試組合。

CTS 驗證器的測試選單

圖 2. CTS 驗證器的測試選單

每項測試都包含一組在畫面底部的常見元素。

串流影片品質驗證工具

圖 3. 測試畫面,醒目顯示常見的測試元素

  • 通過 (✓):如果 DUT 符合「資訊」操作說明中的測試規定,請輕觸此選項。
  • 資訊 (?):輕觸即可顯示測驗操作說明。系統也會在第一次開啟測試時自動顯示這項資訊。
  • 失敗 (!):如果 DUT 未符合「資訊」操作說明中的測試規定,請輕觸此選項。

部分測試 (例如 USB 配件模式和相機校正測試) 需要額外的測試設定和指示,詳情請參閱下文。

測試 Android 8.0 以上版本的 USB 配件模式

CTS 驗證器 USB 配件測試

圖 4. 適用於 8.0 以上版本的 USB 配件測試程序

CTS 驗證器 USB 配件測試

圖 5. 測試 Android 8.0 以上版本的 USB 配件模式

測試 7.x 以下版本的 USB 配件模式

進行 USB 配件測試時,需要使用 Linux 電腦執行 USB 桌上型電腦 (主機) 程式。

  1. 將 DUT 連接至 Linux 電腦。
  2. 在電腦上執行 CTS Verifier 套件中的 cts-usb-accessory 程式:

    ./cts-usb-accessory
  3. 等待 DUT 顯示彈出式訊息,然後選取「OK」
    CTS 驗證器 USB 配件測試

    圖 6. USB 配件測試

  4. 在 DUT 的 CTS 驗證工具應用程式中,前往 USB 配件測試。

  5. 在電腦上查看主控台的輸出內容。輸出內容範例:

    CTS USB Accessory Tester
    Found possible Android device (413c:2106) - attempting to switch to accessory
    mode...
    Failed to read protocol versionfigure3
    Found Android device in accessory mode (18d1:2d01)...
    [RECV] Message from Android device #0
    [SENT] Message from Android accessory #0
    [RECV] Message from Android device #1
    [SENT] Message from Android accessory #1
    [RECV] Message from Android device #2
    [SENT] Message from Android accessory #2
    [RECV] Message from Android device #3
    [SENT] Message from Android accessory #3
    [RECV] Message from Android device #4
    [SENT] Message from Android accessory #4
    [RECV] Message from Android device #5
    [SENT] Message from Android accessory #5
    [RECV] Message from Android device #6
    [SENT] Message from Android accessory #6
    [RECV] Message from Android device #7
    [SENT] Message from Android accessory #7
    [RECV] Message from Android device #8
    [SENT] Message from Android accessory #8
    [RECV] Message from Android device #9
    [SENT] Message from Android accessory #9
    [RECV] Message from Android device #10
    [SENT] Message from Android accessory #10
    

校正攝影機視野

使用視野校準程序,快速判斷裝置視野,並取得適當準確度。

  1. 設定測試環境:

    1. calibration-pattern.pdf 目標檔案列印在 11 x 17 吋或 A3 大小的紙張上。
    2. 將印製圖案貼在堅硬的背襯上。
    3. 請按照下圖所示,調整攝影機裝置和印刷目標的方向。
      攝影機列印目標

      圖 7. 攝影機列印目標

  2. 設定目標寬度:

    1. 測量目標圖案上實線之間的距離 (以公分為單位),以便考量列印不準確的問題 (~38 公分)。
    2. 啟動校正應用程式。
    3. 按下設定按鈕,然後選取「標記距離」
    4. 測量並輸入目標圖案的距離 (約 100 公分)。
    5. 按下返回按鈕,即可返回校正預覽畫面。
  3. 請確認裝置和目標放置的位置如圖所示,且設定對話方塊中已輸入正確的距離。預覽畫面會顯示圖片,並疊加一條垂直線;這條線應與目標圖案的中心線對齊。透明格線可與其他垂直線一起使用,確保光學軸與目標成直角。

  4. 執行校準測試:

    1. 選取圖片解析度 (使用左下方的選取器),然後輕觸螢幕拍照。測試會進入校正模式,並顯示兩條垂直線重疊在圖片上的相片。
    2. 判定準確度:
      • 如果線條與目標圖案的垂直線對齊,誤差在幾公分以內,表示所選解析度所回報的視野範圍是正確的。
      • 如果線條未對齊,則回報的視野範圍會不準確。如要修正這個問題,請調整畫面底部的滑桿,直到疊加圖層盡可能與目標圖案對齊。當重疊圖和目標圖案圖像對齊時,顯示的視野範圍會與正確值相近。回報的視野範圍應在校正值的 +/-2 度內。
    3. 按下返回按鈕,針對 DUT 支援的所有圖片解析度重複校正測試。

為替代模式執行 CTS Verifier

自 CTS 10 R6 和 CTS 11 R2 版本起,CTS Verifier 支援針對具有其他模式或多個螢幕模式的裝置所需的測試。

CTS Verifier 的主要清單檢視畫面頂端會顯示一個按鈕,讓使用者在展開和折疊顯示模式之間切換。CTS Verifier 會顯示所選顯示模式的必要測試。如要在 CTS Verifier 中執行其他模式,請將按鈕切換至適當的顯示模式,然後執行顯示的測試清單。

CTS-V 切換按鈕

圖 8. CTS 驗證器切換鈕

折疊測試的結果會記錄在折疊測試的相同報表中。為了識別每個測試集的測試結果,系統會在折疊模式下為每個測試名稱加上後置字串。

<Test result="fail" name="com.android.cts.verifier.deskclock.DeskClockTestsActivity[folded]">
  <RunHistory subtest="CREATE_ALARM[folded]">
    <Run start="1594176663973" end="1594176665841" isAutomated="false" />
  </RunHistory>
</Test>

匯出結果

所有測試完成後,您可以將結果儲存為報表,並下載到電腦。報表名稱會根據 DUT 系統時間自動加上時間戳記。

  1. 如要儲存測試結果,請輕觸測試類別清單頂端的儲存 (磁碟) 圖示。

  2. 等待彈出式訊息顯示已儲存報表的檔案路徑 (例如 /sdcard/verifierReports/ctsVerifierReport-date-time.zip),然後記錄路徑。

  3. 將 DUT 連接至 Linux 電腦。

  4. 從 Linux 電腦上的 Android SDK 安裝,使用 adb shell content readadb pull CTSVerifierReportPath 從已連結的裝置下載報表。

    • 針對 Android 7.x 以上版本,請使用下列指令下載所有報表:

      adb pull /sdcard/verifierReports
      
    • 如果是 Android 6.0 以下版本,請使用下列指令下載所有報表:

      adb pull /mnt/sdcard/ctsVerifierReports/
      
    • 針對 Android 10 以上版本,實作 Automotive 和以次要使用者身分執行的裝置,請使用下列指令下載最新報告:

      adb shell content read --user CURRENT_USER --uri
      
      content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zip
      

      如要列出連線裝置中提供的所有報表,請按照下列步驟操作:

      adb shell content query --user CURRENT_USER --uri
      
      content://com.android.cts.verifier.testresultsprovider/reports
      

      如要從清單下載報表,您可以指定資料列 ID 或檔案名稱。例如:

      adb shell content read --user CURRENT_USER --uri
      
      content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip
      
      adb shell content read --user CURRENT_USER --uri
      
      content://com.android.cts.verifier.testresultsprovider/reports/ctsVerifierReport-date-time.zip >
      report.zip
      
  5. 如要清除通過/失敗結果,請在 CTS 驗證器應用程式中選取結果,然後依序選取「選單」>「清除」