對 AWS Device Farm 中的 XCTest UI 測試進行故障診斷 - AWS Device Farm

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

對 AWS Device Farm 中的 XCTest UI 測試進行故障診斷

下列主題列出上傳 UI XCTest 測試期間發生的錯誤訊息,並建議解決每個錯誤的因應措施。

注意

以下說明以 Linux x86_64 和 Mac 為基礎。

XCTEST_UI_TEST_PACKAGE_UNZIP_FAILED

如果您看到下列訊息,請依照以下步驟修復問題。

警告

我們無法開啟您的測試IPA檔案。請確認檔案是否有效,然後再試一次。

請確認您可以正確解壓縮應用程式套件。在下列範例中,套件的名稱為 swift-sample-UI.ipa

  1. 將您的測試套件複製到工作目錄,然後執行下列命令:

    $ unzip swift-sample-UI.ipa
  2. 成功解壓縮套件後,您可以透過執行下列命令找到樹狀結構的工作目錄:

    $ tree .

    有效的 iOS 應用程式套件應產生如下輸出:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)

    如需詳細資訊,請參閱將 iOS 專用 XCTest UI 與 Device Farm 整合

XCTEST_UI_TEST_PACKAGE_PAYLOAD_DIR_MISSING

如果您看到下列訊息,請依照以下步驟修復問題。

警告

在測試套件中找不到承載目錄。請解壓縮您的測試套件,確認承載目錄位於套件中,然後再試一次。

在下列範例中,套件的名稱為 swift-sample-UI.ipa

  1. 將您的測試套件複製到工作目錄,然後執行下列命令:

    $ unzip swift-sample-UI.ipa
  2. 成功解壓縮套件後,您可以透過執行下列命令找到樹狀結構的工作目錄:

    $ tree .

    如果 XCTest UI 套件有效,您會找到 Payload 工作目錄內的目錄。

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)

    如需詳細資訊,請參閱將 iOS 專用 XCTest UI 與 Device Farm 整合

XCTEST_UI_TEST_PACKAGE_APP_DIR_MISSING

如果您看到下列訊息,請依照以下步驟修復問題。

警告

在承載目錄中找不到 .app 目錄。請解壓縮您的測試套件,開啟承載目錄,確認目錄中有 .app 目錄,然後再試一次。

在下列範例中,套件的名稱為 swift-sample-UI.ipa

  1. 將您的測試套件複製到工作目錄,然後執行下列命令:

    $ unzip swift-sample-UI.ipa
  2. 成功解壓縮套件後,您可以透過執行下列命令找到樹狀結構的工作目錄:

    $ tree .

    如果 XCTest UI 套件有效,您會找到 .app 目錄,例如 swift-sampleUITests-Runner.app 在我們的範例中 Payload 目錄。

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)

    如需詳細資訊,請參閱將 iOS 專用 XCTest UI 與 Device Farm 整合

XCTEST_UI_TEST_PACKAGE_PLUGINS_DIR_MISSING

如果您看到下列訊息,請依照以下步驟修復問題。

警告

在 .app 目錄中找不到外掛程式目錄。請解壓縮您的測試套件,開啟 .app 目錄,確認目錄中有外掛程式目錄,然後再試一次。

在下列範例中,套件的名稱為 swift-sample-UI.ipa

  1. 將您的測試套件複製到工作目錄,然後執行下列命令:

    $ unzip swift-sample-UI.ipa
  2. 成功解壓縮套件後,您可以透過執行下列命令找到樹狀結構的工作目錄:

    $ tree .

    如果 XCTest UI 套件有效,您會找到 Plugins 中的目錄 .app 目錄。在我們的範例中,目錄稱為 swift-sampleUITests-Runner.app.

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)

    如需詳細資訊,請參閱將 iOS 專用 XCTest UI 與 Device Farm 整合

XCTEST_UI_TEST_PACKAGE_XCTEST_DIR_MISSING_IN_PLUGINS_DIR

如果您看到下列訊息,請依照以下步驟修復問題。

警告

在外掛程式目錄中找不到 .xctest 目錄。請解壓縮您的測試套件,開啟外掛程式目錄,確認目錄中有 .xctest 目錄,然後再試一次。

在下列範例中,套件的名稱為 swift-sample-UI.ipa

  1. 將您的測試套件複製到工作目錄,然後執行下列命令:

    $ unzip swift-sample-UI.ipa
  2. 成功解壓縮套件後,您可以透過執行下列命令找到樹狀結構的工作目錄:

    $ tree .

    如果 XCTest UI 套件有效,您會找到 .xctest 中的目錄 Plugins 目錄。在我們的範例中,目錄稱為 swift-sampleUITests.xctest.

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)

    如需詳細資訊,請參閱將 iOS 專用 XCTest UI 與 Device Farm 整合

XCTEST_UI_TEST_PACKAGE_PLIST_FILE_MISSING

如果您看到下列訊息,請依照以下步驟修復問題。

警告

在 .app 目錄中找不到 Info.plist 檔案。請解壓縮您的測試套件,開啟 .app 目錄,確認目錄中有 Info.plist 檔案,然後再試一次。

在下列範例中,套件的名稱為 swift-sample-UI.ipa

  1. 將您的測試套件複製到工作目錄,然後執行下列命令:

    $ unzip swift-sample-UI.ipa
  2. 成功解壓縮套件後,您可以透過執行下列命令找到樹狀結構的工作目錄:

    $ tree .

    如果 XCTest UI 套件有效,您會找到 Info.plist 檔案位於 .app 目錄。在以下範例中,目錄稱為 swift-sampleUITests-Runner.app.

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)

    如需詳細資訊,請參閱將 iOS 專用 XCTest UI 與 Device Farm 整合

XCTEST_UI_TEST_PACKAGE_PLIST_FILE_MISSING_IN_XCTEST_DIR

如果您看到下列訊息,請依照以下步驟修復問題。

警告

在 .xctest 目錄中找不到 .plist 檔案。請解壓縮您的測試套件,開啟相依性 .xctest 目錄,確認目錄中有 Info.plist 檔案,然後再試一次。

在下列範例中,套件的名稱為 swift-sample-UI.ipa

  1. 將您的測試套件複製到工作目錄,然後執行下列命令:

    $ unzip swift-sample-UI.ipa
  2. 成功解壓縮套件後,您可以透過執行下列命令找到樹狀結構的工作目錄:

    $ tree .

    如果 XCTest UI 套件有效,您會找到 Info.plist 檔案位於 .xctest 目錄。在以下範例中,目錄稱為 swift-sampleUITests.xctest.

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)

    如需詳細資訊,請參閱將 iOS 專用 XCTest UI 與 Device Farm 整合

XCTEST_UI_TEST_PACKAGE_CPU_ARCHITECTURE_VALUE_MISSING

如果您看到下列訊息,請依照以下步驟修復問題。

警告

我們無法在 Info.plist 檔案中建立CPU架構值。請解壓縮測試套件,然後在 .app 目錄中開啟 Info.plist 檔案,確認已指定金鑰 "UIRequiredDeviceCapabilities",然後再試一次。

在下列範例中,套件的名稱為 swift-sample-UI.ipa

  1. 將您的測試套件複製到工作目錄,然後執行下列命令:

    $ unzip swift-sample-UI.ipa
  2. 成功解壓縮套件後,您可以透過執行下列命令找到樹狀結構的工作目錄:

    $ tree .

    您應該會找到 Info.plist 檔案位於 .app 目錄,例如 swift-sampleUITests-Runner.app 在我們的範例中:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. 若要尋找CPU架構值,您可以使用 Xcode 或 Python 開啟 Info.plist。

    若您是使用 Python,則可透過執行下列命令安裝 biplist 模組:

    $ pip install biplist
  4. 接著,開啟 Python 並執行下列命令:

    import biplist info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Info.plist') print info_plist['UIRequiredDeviceCapabilities']

    有效的 XCtest UI 套件應產生如下所示的輸出:

    ['armv7']

    如需詳細資訊,請參閱將 iOS 專用 XCTest UI 與 Device Farm 整合

XCTEST_UI_TEST_PACKAGE_PLATFORM_VALUE_MISSING

如果您看到下列訊息,請依照以下步驟修復問題。

警告

在 Info.plist 中找不到平台值。請解壓縮測試套件,然後在 .app 目錄中開啟 Info.plist 檔案,確認已指定金鑰 "CFBundleSupportedPlatforms",然後再試一次。

在下列範例中,套件的名稱為 swift-sample-UI.ipa

  1. 將您的測試套件複製到工作目錄,然後執行下列命令:

    $ unzip swift-sample-UI.ipa
  2. 成功解壓縮套件後,您可以透過執行下列命令找到樹狀結構的工作目錄:

    $ tree .

    您應該會找到 Info.plist 檔案位於 .app 目錄,例如 swift-sampleUITests-Runner.app 在我們的範例中:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. 若要找到平台架構值,您可以使用 Xcode 或 Python 開啟 Info.plist。

    若您是使用 Python,則可透過執行下列命令安裝 biplist 模組:

    $ pip install biplist
  4. 接著,開啟 Python 並執行下列命令:

    import biplist info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Info.plist') print info_plist['CFBundleSupportedPlatforms']

    有效的 XCtest UI 套件應產生如下所示的輸出:

    ['iPhoneOS']

    如需詳細資訊,請參閱將 iOS 專用 XCTest UI 與 Device Farm 整合

XCTEST_UI_TEST_PACKAGE_WRONG_PLATFORM_DEVICE_VALUE

如果您看到下列訊息,請依照以下步驟修復問題。

警告

Info.plist 檔案中的平台裝置值錯誤。請解壓縮測試套件,然後在 .app 目錄中開啟 Info.plist 檔案,確認索引鍵 "CFBundleSupportedPlatforms" 的值不包含關鍵字 "simulator",然後再試一次。

在下列範例中,套件的名稱為 swift-sample-UI.ipa

  1. 將您的測試套件複製到工作目錄,然後執行下列命令:

    $ unzip swift-sample-UI.ipa
  2. 成功解壓縮套件後,您可以透過執行下列命令找到樹狀結構的工作目錄:

    $ tree .

    您應該會找到 Info.plist 檔案位於 .app 目錄,例如 swift-sampleUITests-Runner.app 在我們的範例中:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. 若要找到平台架構值,您可以使用 Xcode 或 Python 開啟 Info.plist。

    若您是使用 Python,則可透過執行下列命令安裝 biplist 模組:

    $ pip install biplist
  4. 接著,開啟 Python 並執行下列命令:

    import biplist info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Info.plist') print info_plist['CFBundleSupportedPlatforms']

    有效的 XCtest UI 套件應產生如下所示的輸出:

    ['iPhoneOS']

    如果 XCTest UI 套件有效,則值不應包含關鍵字 simulator

    如需詳細資訊,請參閱將 iOS 專用 XCTest UI 與 Device Farm 整合

XCTEST_UI_TEST_PACKAGE_FORM_FACTOR_VALUE_MISSING

如果您看到下列訊息,請依照以下步驟修復問題。

警告

在 Info.plist 檔案中找不到表單係數值。請解壓縮測試套件,然後在 .app 目錄中開啟 Info.plist 檔案,確認已指定金鑰 "UIDeviceFamily",然後再試一次。

在下列範例中,套件的名稱為 swift-sample-UI.ipa

  1. 將您的測試套件複製到工作目錄,然後執行下列命令:

    $ unzip swift-sample-UI.ipa
  2. 成功解壓縮套件後,您可以透過執行下列命令找到樹狀結構的工作目錄:

    $ tree .

    您應該會找到 Info.plist 檔案位於 .app 目錄,例如 swift-sampleUITests-Runner.app 在我們的範例中:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. 若要找到表單係數值,您可以使用 Xcode 或 Python 開啟 Info.plist。

    若您是使用 Python,則可透過執行下列命令安裝 biplist 模組:

    $ pip install biplist
  4. 接著,開啟 Python 並執行下列命令:

    import biplist info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Info.plist') print info_plist['UIDeviceFamily']

    有效的 XCtest UI 套件應產生如下所示的輸出:

    [1, 2]

    如需詳細資訊,請參閱將 iOS 專用 XCTest UI 與 Device Farm 整合

XCTEST_UI_TEST_PACKAGE_PACKAGE_NAME_VALUE_MISSING

如果您看到下列訊息,請依照以下步驟修復問題。

警告

在 Info.plist 檔案中找不到套件名稱值。請解壓縮測試套件,然後在 .app 目錄中開啟 Info.plist 檔案,確認已指定金鑰 "CFBundleIdentifier",然後再試一次。

在下列範例中,套件的名稱為 swift-sample-UI.ipa

  1. 將您的測試套件複製到工作目錄,然後執行下列命令:

    $ unzip swift-sample-UI.ipa
  2. 成功解壓縮套件後,您可以透過執行下列命令找到樹狀結構的工作目錄:

    $ tree .

    您應該會找到 Info.plist 檔案位於 .app 目錄,例如 swift-sampleUITests-Runner.app 在我們的範例中:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. 若要找到套件名稱值,您可以使用 Xcode 或 Python 開啟 Info.plist。

    若您是使用 Python,則可透過執行下列命令安裝 biplist 模組:

    $ pip install biplist
  4. 接著,開啟 Python 並執行下列命令:

    import biplist info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Info.plist') print info_plist['CFBundleIdentifier']

    有效的 XCtest UI 套件應產生如下所示的輸出:

    com.apple.test.swift-sampleUITests-Runner

    如需詳細資訊,請參閱將 iOS 專用 XCTest UI 與 Device Farm 整合

XCTEST_UI_TEST_PACKAGE_EXECUTABLE_VALUE_MISSING

如果您看到下列訊息,請依照以下步驟修復問題。

警告

在 Info.plist 檔案中找不到可執行的值。請解壓縮測試套件,然後在 .app 目錄中開啟 Info.plist 檔案,確認已指定金鑰 "CFBundleExecutable",然後再試一次。

在下列範例中,套件的名稱為 swift-sample-UI.ipa

  1. 將您的測試套件複製到工作目錄,然後執行下列命令:

    $ unzip swift-sample-UI.ipa
  2. 成功解壓縮套件後,您可以透過執行下列命令找到樹狀結構的工作目錄:

    $ tree .

    您應該會找到 Info.plist 檔案位於 .app 目錄,例如 swift-sampleUITests-Runner.app 在我們的範例中:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. 若要找到可執行的值,您可以使用 Xcode 或 Python 開啟 Info.plist。

    若您是使用 Python,則可透過執行下列命令安裝 biplist 模組:

    $ pip install biplist
  4. 接著,開啟 Python 並執行下列命令:

    import biplist info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Info.plist') print info_plist['CFBundleExecutable']

    有效的 XCtest UI 套件應產生如下所示的輸出:

    XCTRunner

    如需詳細資訊,請參閱將 iOS 專用 XCTest UI 與 Device Farm 整合

XCTEST_UI_TEST_PACKAGE_TEST_PACKAGE_NAME_VALUE_MISSING

如果您看到下列訊息,請依照以下步驟修復問題。

警告

在 .xctest 目錄的 Info.plist 檔案中找不到套件名稱值。請解壓縮測試套件,然後在 .xctest 目錄中開啟 Info.plist 檔案,確認已指定金鑰 "CFBundleIdentifier",然後再試一次。

在下列範例中,套件的名稱為 swift-sample-UI.ipa

  1. 將您的測試套件複製到工作目錄,然後執行下列命令:

    $ unzip swift-sample-UI.ipa
  2. 成功解壓縮套件後,您可以透過執行下列命令找到樹狀結構的工作目錄:

    $ tree .

    您應該會找到 Info.plist 檔案位於 .app 目錄,例如 swift-sampleUITests-Runner.app 在我們的範例中:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. 若要找到套件名稱值,您可以使用 Xcode 或 Python 開啟 Info.plist。

    若您是使用 Python,則可透過執行下列命令安裝 biplist 模組:

    $ pip install biplist
  4. 接著,開啟 Python 並執行下列命令:

    import biplist info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Plugins/swift-sampleUITests.xctest/Info.plist') print info_plist['CFBundleIdentifier']

    有效的 XCtest UI 套件應產生如下所示的輸出:

    com.amazon.swift-sampleUITests

    如需詳細資訊,請參閱將 iOS 專用 XCTest UI 與 Device Farm 整合

XCTEST_UI_TEST_PACKAGE_TEST_EXECUTABLE_VALUE_MISSING

如果您看到下列訊息,請依照以下步驟修復問題。

警告

在 .xctest 目錄的 Info.plist 檔案中找不到可執行的值。請解壓縮測試套件,然後在 .xctest 目錄中開啟 Info.plist 檔案,確認已指定金鑰 "CFBundleExecutable",然後再試一次。

在下列範例中,套件的名稱為 swift-sample-UI.ipa

  1. 將您的測試套件複製到工作目錄,然後執行下列命令:

    $ unzip swift-sample-UI.ipa
  2. 成功解壓縮套件後,您可以透過執行下列命令找到樹狀結構的工作目錄:

    $ tree .

    您應該會找到 Info.plist 檔案位於 .app 目錄,例如 swift-sampleUITests-Runner.app 在我們的範例中:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. 若要找到可執行的值,您可以使用 Xcode 或 Python 開啟 Info.plist。

    若您是使用 Python,則可透過執行下列命令安裝 biplist 模組:

    $ pip install biplist
  4. 接著,開啟 Python 並執行下列命令:

    import biplist info_plist = biplist.readPlist('Payload/swift-sampleUITests-Runner.app/Plugins/swift-sampleUITests.xctest/Info.plist') print info_plist['CFBundleExecutable']

    有效的 XCtest UI 套件應產生如下所示的輸出:

    swift-sampleUITests

    如需詳細資訊,請參閱將 iOS 專用 XCTest UI 與 Device Farm 整合