对 Dev AWS ice Farm 中的XCTest测试进行故障排除 - AWS Device Farm

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

对 Dev AWS ice Farm 中的XCTest测试进行故障排除

以下主题列出了上传XCTest测试期间出现的错误消息,并推荐了解决每个错误的解决方法。

注意

下面的说明假定您使用的是 MacOS。

XCTEST_TEST_PACKAGE_UNZIP_FAILED

如果您看到以下消息,请执行以下步骤来修复此问题。

警告

我们无法打开您的测试ZIP文件。请验证文件是否有效,然后重试。

确保您可以解压应用程序包,而不会出现错误。在以下示例中,软件包的名称为 swiftExampleTests.xctest -1.zip。

  1. 将您的测试程序包复制到工作目录,然后运行以下命令:

    $ unzip swiftExampleTests.xctest-1.zip
  2. 成功解压缩程序包后,您可以通过运行以下命令找到工作目录树结构:

    $ tree .

    有效的XCTest软件包应产生如下输出:

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

    有关更多信息,请参阅 将 Device Farm 与XCTest适用于 iOS 的集成

XCTEST_TEST_PACKAGE_XCTEST_DIR_MISSING

如果您看到以下消息,请执行以下步骤来修复此问题。

警告

我们无法在您的测试程序包中找到 .xctest 目录。请解压缩您的测试程序包,验证 .xctest 目录位于该程序包中,然后重试。

在以下示例中,软件包的名称为 swiftExampleTests.xctest -1.zip。

  1. 将您的测试程序包复制到工作目录,然后运行以下命令:

    $ unzip swiftExampleTests.xctest-1.zip
  2. 成功解压缩程序包后,您可以通过运行以下命令找到工作目录树结构:

    $ tree .

    如果XCTest软件包有效,你会发现一个名字类似于的目录 swiftExampleTests.xctest 在工作目录中。名字应该结尾为 .xctest.

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

    有关更多信息,请参阅 将 Device Farm 与XCTest适用于 iOS 的集成

XCTEST_TEST_PACKAGE_PLIST_FILE_MISSING

如果您看到以下消息,请执行以下步骤来修复此问题。

警告

我们无法在 .xctest 目录中找到 Info.plist 文件。请解压缩您的测试程序包,打开 .xctest 目录,并验证 Info.plist 文件在该目录中,然后重试。

在以下示例中,软件包的名称为 swiftExampleTests.xctest -1.zip。

  1. 将您的测试程序包复制到工作目录,然后运行以下命令:

    $ unzip swiftExampleTests.xctest-1.zip
  2. 成功解压缩程序包后,您可以通过运行以下命令找到工作目录树结构:

    $ tree .

    如果XCTest包裹有效,您将找到 Info.plist 里面的文件 .xctest 目录。在下面的示例中,该目录名为 swiftExampleTests.xctest.

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

    有关更多信息,请参阅 将 Device Farm 与XCTest适用于 iOS 的集成

XCTEST_TEST_PACKAGE_PACKAGE_NAME_VALUE_MISSING

如果您看到以下消息,请执行以下步骤来修复此问题。

警告

我们无法在 Info.plist 文件中找到程序包名称值。请解压缩您的测试包,然后打开 Info.plist 文件,确认指定了密钥 “CFBundleIdentifier”,然后重试。

在以下示例中,软件包的名称为 swiftExampleTests.xctest -1.zip。

  1. 将您的测试程序包复制到工作目录,然后运行以下命令:

    $ unzip swiftExampleTests.xctest-1.zip
  2. 成功解压缩程序包后,您可以通过运行以下命令找到工作目录树结构:

    $ tree .

    你应该找到 Info.plist 文件放在 .xctest 像这样的目录 swiftExampleTests.xctest 在我们的例子中:

    . `-- swiftExampleTests.xctest (directory) |-- Info.plist `-- (any other files)
  3. 要查找程序包名称值,您可以使用 Xcode 或 Python 打开 Info.plist。

    对于 Python,您可以通过运行以下命令来安装 biplist 模块:

    $ pip install biplist
  4. 接下来,打开 Python 并运行以下命令:

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

    有效的XCtest应用程序包应产生如下输出:

    com.amazon.kanapka.swiftExampleTests

    有关更多信息,请参阅 将 Device Farm 与XCTest适用于 iOS 的集成

XCTEST_TEST_PACKAGE_EXECUTABLE_VALUE_MISSING

如果您看到以下消息,请执行以下步骤来修复此问题。

警告

我们无法在 Info.plist 文件中找到可执行文件值。请解压缩您的测试包,然后打开 Info.plist 文件,确认指定了密钥 “CFBundleExecutable”,然后重试。

在以下示例中,软件包的名称为 swiftExampleTests.xctest -1.zip。

  1. 将您的测试程序包复制到工作目录,然后运行以下命令:

    $ unzip swiftExampleTests.xctest-1.zip
  2. 成功解压缩程序包后,您可以通过运行以下命令找到工作目录树结构:

    $ tree .

    你应该找到 Info.plist 文件放在 .xctest 像这样的目录 swiftExampleTests.xctest 在我们的例子中:

    . `-- swiftExampleTests.xctest (directory) |-- Info.plist `-- (any other files)
  3. 要查找程序包名称值,您可以使用 Xcode 或 Python 打开 Info.plist。

    对于 Python,您可以通过运行以下命令来安装 biplist 模块:

    $ pip install biplist
  4. 接下来,打开 Python 并运行以下命令:

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

    有效的XCtest应用程序包应产生如下输出:

    swiftExampleTests

    有关更多信息,请参阅 将 Device Farm 与XCTest适用于 iOS 的集成