使用 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 Verifier 圖示,啟動 CTS Verifier 應用程式。

啟動器中的 CTS 驗證器圖示

圖 1. CTS Verifier 圖示

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

CTS 驗證器的測試選單

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

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

串流影片品質驗證工具

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

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

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

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

CTS 驗證器 USB 配件測試

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

CTS 驗證器 USB 配件測試

圖 5. 測試 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 驗證工具

自 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 驗證器應用程式中選取結果,然後選取「選單」>「清除」