

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

# 針對 AWS Device Farm 中的 XCTest 測試進行故障診斷
<a name="troubleshooting-xctest"></a>

下列主題會列出在上傳 XCTest 測試期間出現的錯誤訊息，並建議解決每個錯誤的解決方法。

**注意**  
下列說明假設您使用 MacOS。

## XCTEST\_TEST\_PACKAGE\_UNZIP\_FAILED
<a name="XCTEST_TEST_PACKAGE_UNZIP_FAILED"></a>

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

**警告**  
無法開啟您的測試 ZIP 檔。請確認檔案是否有效，然後再試一次。

請確認您可以正確解壓縮應用程式套件。在下列範例中，套件的名稱為 **swiftExampleTests.xctest-1.zip**。

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

   ```
   $ unzip swiftExampleTests.xctest-1.zip
   ```

1. 成功解壓縮套件後，您可以透過執行下列命令找到樹狀結構的工作目錄：

   ```
   $ tree .
   ```

   有效的 XCTest 套件應產生輸出如下：

   ```
   .
   `-- swiftExampleTests.xctest (directory)
                 |-- Info.plist
                 `-- (any other files)
   ```

   如需詳細資訊，請參閱[將 Device Farm 與適用於 iOS 的 XCTest 整合](test-types-ios-xctest.md)。

## XCTEST\_TEST\_PACKAGE\_XCTEST\_DIR\_MISSING
<a name="XCTEST_TEST_PACKAGE_XCTEST_DIR_MISSING"></a>

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

**警告**  
在測試套件中找不到 .xctest 目錄。請解壓縮您的測試套件，確認 .xctest 目錄位於套件中，然後再試一次。

在下列範例中，套件的名稱為 **swiftExampleTests.xctest-1.zip**。

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

   ```
   $ unzip swiftExampleTests.xctest-1.zip
   ```

1. 成功解壓縮套件後，您可以透過執行下列命令找到樹狀結構的工作目錄：

   ```
   $ tree .
   ```

   如果 XCTest 套件是有效的，您可以在工作目錄中找到名稱類似於 {{swiftExampleTests.xctest}} 的目錄。該名稱應以 {{.xctest}} 結尾。

   ```
   .
   `-- {{swiftExampleTests.xctest}} (directory)
                 |-- Info.plist
                 `-- (any other files)
   ```

   如需詳細資訊，請參閱[將 Device Farm 與適用於 iOS 的 XCTest 整合](test-types-ios-xctest.md)。

## XCTEST\_TEST\_PACKAGE\_PLIST\_FILE\_MISSING
<a name="XCTEST_TEST_PACKAGE_PLIST_FILE_MISSING"></a>

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

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

在下列範例中，套件的名稱為 **swiftExampleTests.xctest-1.zip**。

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

   ```
   $ unzip swiftExampleTests.xctest-1.zip
   ```

1. 成功解壓縮套件後，您可以透過執行下列命令找到樹狀結構的工作目錄：

   ```
   $ tree .
   ```

   如果 XCTest 套件有效，您會在 .{{xctest}} 目錄中找到 {{Info.plist}} 檔案。在以下範例中，目錄的名稱為 {{swiftExampleTests.xctest}}。

   ```
   .
   `-- swiftExampleTests.xctest (directory)
                 |-- {{Info.plist}}
                 `-- (any other files)
   ```

   如需詳細資訊，請參閱[將 Device Farm 與適用於 iOS 的 XCTest 整合](test-types-ios-xctest.md)。

## XCTEST\_TEST\_PACKAGE\_PACKAGE\_NAME\_VALUE\_MISSING
<a name="XCTEST_TEST_PACKAGE_PACKAGE_NAME_VALUE_MISSING"></a>

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

**警告**  
在 Info.plist 檔案中找不到套件名稱值。請解壓縮您的測試套件，開啟 Info.plist 檔案，確認已指定金鑰「CFBundleIdentifier」，然後再試一次。

在下列範例中，套件的名稱為 **swiftExampleTests.xctest-1.zip**。

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

   ```
   $ unzip swiftExampleTests.xctest-1.zip
   ```

1. 成功解壓縮套件後，您可以透過執行下列命令找到樹狀結構的工作目錄：

   ```
   $ tree .
   ```

   您應該會在 {{.xctest}} 目錄中找到 {{Info.plist}} 檔案，例如 {{swiftExampleTests.xctest}}，在我們的範例中：

   ```
   .
   `-- swiftExampleTests.xctest (directory)
                 |-- {{Info.plist}}
                 `-- (any other files)
   ```

1. 若要找到套件名稱值，您可以使用 Xcode 或 Python 開啟 Info.plist。

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

   ```
   $ pip install biplist
   ```

1. 接著，開啟 Python 並執行下列命令：

   ```
   import biplist
   info_plist = biplist.readPlist('swiftExampleTests.xctest/Info.plist')
   print info_plist['CFBundleIdentifier']
   ```

   有效的 XCtest 應用程式套件應產生輸出如下：

   ```
   com.amazon.kanapka.swiftExampleTests
   ```

   如需詳細資訊，請參閱[將 Device Farm 與適用於 iOS 的 XCTest 整合](test-types-ios-xctest.md)。

## XCTEST\_TEST\_PACKAGE\_EXECUTABLE\_VALUE\_MISSING
<a name="XCTEST_TEST_PACKAGE_EXECUTABLE_VALUE_MISSING"></a>

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

**警告**  
在 Info.plist 檔案中找不到可執行的值。請解壓縮您的測試套件，開啟 Info.plist 檔案，確認已指定金鑰「CFBundleExecutable」，然後再試一次。

在下列範例中，套件的名稱為 **swiftExampleTests.xctest-1.zip**。

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

   ```
   $ unzip swiftExampleTests.xctest-1.zip
   ```

1. 成功解壓縮套件後，您可以透過執行下列命令找到樹狀結構的工作目錄：

   ```
   $ tree .
   ```

   您應該會在 {{.xctest}} 目錄中找到 {{Info.plist}} 檔案，例如 {{swiftExampleTests.xctest}}，在我們的範例中：

   ```
   .
   `-- swiftExampleTests.xctest (directory)
                 |-- {{Info.plist}}
                 `-- (any other files)
   ```

1. 若要找到套件名稱值，您可以使用 Xcode 或 Python 開啟 Info.plist。

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

   ```
   $ pip install biplist
   ```

1. 接著，開啟 Python 並執行下列命令：

   ```
   import biplist
   info_plist = biplist.readPlist('swiftExampleTests.xctest/Info.plist')
   print info_plist['CFBundleExecutable']
   ```

   有效的 XCtest 應用程式套件應產生輸出如下：

   ```
   swiftExampleTests
   ```

   如需詳細資訊，請參閱[將 Device Farm 與適用於 iOS 的 XCTest 整合](test-types-ios-xctest.md)。