執行 CTS 驗證器多裝置測試

本頁說明如何使用 CTS Verifier (CTS-V) 多裝置測試,測試 Android 16 以上版本。

設定主機端多裝置測試

本節說明如何設定多裝置測試。

  1. 確認桌上型電腦符合 CTS 的作業系統需求
  2. 請按照「安裝電腦軟體」一文中的步驟 2 和 5 操作,確保 adb、AAPT2 和 Python 已正確安裝在電腦上。
  3. 準備兩部相符的受測裝置 (DUT),並在每部裝置上設定 CTS-V。

    • 如要瞭解如何設定 DUT,請參閱「設定 DUT」一文。
    • 如需設定 CTS-V 的操作說明,請參閱「設定」。
  4. 如果您測試的模組不是 NFC,請按照「設定標準雙裝置測試」一文的說明操作。

  5. 如要測試 CDM 模組,除了標準的雙裝置設定外,請按照「設定 CDM 測試」一文的說明操作。

設定標準雙裝置測試

預設的雙裝置設定:

  1. 將兩個相符的 Android DUT 放在約 20 公分處。
  2. 為確保環境乾淨,請將兩部裝置放在遮蔽盒中。

  3. (選用) 設定 OTA 封包嗅探器,進行 Wi-Fi 偵錯。

設定 NFC 測試

NFC 測試會使用一部 DUT 和 PN532 NFC 晶片。

如何設定 NFC 測試:

  1. 購買 PN532 NFC 晶片。建議使用多合一 PN532
  2. 在 DUT 上前往「設定」應用程式。

  3. 啟用「NFC」

  4. 放置 NFC 晶片:

    • 如果是手機,請如圖 1 所示放置 DUT 的 NFC 讀取器:

      NFC 晶片位置

      圖 1. NFC 晶片位置。

    • 如果是其他裝置類型,請將晶片放在裝置的 NFC 天線旁。

  5. 使用 USB 傳輸線將 PN532 NFC 晶片連接至測試工作站。

設定 CDM 測試

test_permissions_sync() 測試案例的行為會因執行測試的裝置建構類型而異。原始設備製造商必須測試可偵錯 (userdebug 或 eng) 和不可偵錯 (user) 的建構版本,且兩者都必須通過測試。

豁免

權限同步 API 實作的 CDD 條款僅要求能夠透過安全管道在裝置之間順利傳輸資料。由於安全管道實作並非 CDD 相容性規定,因此您可以在無法偵錯 (使用者) 的建構版本中略過這項測試,但前提是您想選擇不支援 CDM 權限同步功能。

測試必須在可偵錯的建構版本中通過,不得有例外狀況。

在無法偵錯的建構版本上進行測試的事前準備

如果您不符合上述豁免條款,請確認符合下列必備條件。

安全管道會使用 AVF (AttestationVerificationFramework) 驗證硬體的可靠性。雙方產生的認證都包含多項自身資訊,確保系統未經授權遭到變更。AVF 會在驗證程序中檢查下列狀態:

  • 裝置可連上網際網路
  • 裝置使用驗證啟動,且建構版本必須以發布金鑰簽署,而非開發金鑰
  • 裝置已鎖定系統啟動載入程式。如需詳細操作說明,請參閱鎖定系統啟動載入程式
  • OS、主要啟動和主要供應商修補程式層級在 12 個月內。請勿使用超過一年的舊版
  • 裝置認證是由供應商核准的根憑證之一所支援。在 vendor_required_attestation_certificates.xml 資源疊加層中指定信任的根憑證。

執行主機端多裝置測試 (Android 開放原始碼計畫 16 以上版本)

CTS Verifier 16 支援主機端多裝置測試。這些測試可在主機上使用自動化指令碼執行,不必在裝置上進行手動測試作業。每項測試完成後,結果會自動上傳至 DUT,並顯示在 CTS Verifier 應用程式中。

本節說明如何執行主機端多裝置測試。

執行多裝置測試

如要執行多裝置測試,請按照下列步驟操作:

  1. 在測試工作站上,從解壓縮 CTS-V zip 封裝的目錄啟動 cts-v-host 控制台:

    ./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
    
  2. 在 DUT 上的 CTS Verifier 應用程式中,按一下「Host-side Tests」。 圖 2 顯示 CTS 驗證器應用程式中的主機端測試:

    在 CTS 驗證器應用程式中進行主機端多裝置測試

    圖 2. 在 CTS 驗證器應用程式中進行主機端多裝置測試。

    畫面會顯示測試主機端多裝置測試模組清單。

  3. 找出要執行的測試模組名稱。舉例來說,CompanionDeviceManager 模組會列為 CtsCompanionDeviceManagerMultiDeviceTestCases

  4. 在 cts-v-host 控制台中,執行下列指令:

    run cts-v-host -m test_module_name
    

    例如:

    run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
    

    xTS 控制台完成測試後,結果會顯示在 CTS 驗證器應用程式中。標示為綠色的測試表示已通過。標示為紅色的測試失敗。圖 3 顯示 CtsCompanionDeviceManager 測試的結果範例:

    CTS Verifier 應用程式中的主機端多裝置測試結果

    圖 3. 主機端多裝置測試結果會顯示在 CTS 驗證器應用程式中。

排解多裝置測試問題

本節提供可能問題的疑難排解說明。

修正 NFC 測試期間「GetFirmwareVersion」沒有回應的問題

如果在執行多重裝置測試時收到 verify_firmware_version RuntimeError: No response for GetFirmwareVersion 訊息,表示測試無法存取 PN532 NFC 板。

如要修正這個問題,請找出主機上 PN532 NFC 板使用的序列路徑 (例如 dev/ttyUSB1),然後在控制台中使用 --module-arg 引數手動指定該路徑:

run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1

修正 NFC 測試期間顯示的「交易失敗」錯誤訊息

如果所有 NFC 測試案例都收到 Transaction failed, check device logs for more information. 訊息,可能是因為 DUT 的 NFC 晶片無法偵測到 PN532。

如果有多部裝置連線至主機,且部分裝置未放置 PN532,系統可能選取了錯誤的 DUT。詳情請參閱「設定 NFC 測試」。

如要修正這個問題,請採取下列任一做法:

  • 使用 -s 標記,在主機端測試指令中設定正確的 DUT 序號。

  • 從主機中斷所有非 DUT 裝置的連線。

已忽略 CDM 測試案例 test_permissions_sync

如果測試是在無法偵錯的裝置上執行,請確認您是否獲得豁免。否則,請確認兩部裝置都符合必要條件