本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 AWS Device Farm 中对 XCTest 测试进行故障排除
以下主题列出了在上传 XCTest 测试期间出现的错误消息并推荐了解决方法来解决每个错误。
注意
下面的说明假定您使用的是 MacOS。
XCTEST_TEST_PACKAGE_UNZIP_FAILED
如果您看到以下消息,请执行以下步骤来修复此问题。
警告
我们无法打开您的测试 ZIP 文件。请验证文件是否有效,然后重试。
确保您可以解压应用程序包,而不会出现错误。在以下示例中,程序包的名称为 swiftExampleTests.xctest-1.zip。
-
将您的测试程序包复制到工作目录,然后运行以下命令:
$ unzip swiftExampleTests.xctest-1.zip -
成功解压缩程序包后,您可以通过运行以下命令找到工作目录树结构:
$ 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。
-
将您的测试程序包复制到工作目录,然后运行以下命令:
$ unzip swiftExampleTests.xctest-1.zip -
成功解压缩程序包后,您可以通过运行以下命令找到工作目录树结构:
$ 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。
-
将您的测试程序包复制到工作目录,然后运行以下命令:
$ unzip swiftExampleTests.xctest-1.zip -
成功解压缩程序包后,您可以通过运行以下命令找到工作目录树结构:
$ tree .如果 XCTest 程序包有效,您将在
.xctest目录中找到Info.plist文件。在下面的示例中,该目录名为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。
-
将您的测试程序包复制到工作目录,然后运行以下命令:
$ unzip swiftExampleTests.xctest-1.zip -
成功解压缩程序包后,您可以通过运行以下命令找到工作目录树结构:
$ tree .您应该在
.xctest目录 (例如我们示例中的swiftExampleTests.xctest) 中找到Info.plist文件:. `-- swiftExampleTests.xctest (directory) |--Info.plist`-- (any other files) -
要查找程序包名称值,您可以使用 Xcode 或 Python 打开 Info.plist。
对于 Python,您可以通过运行以下命令来安装 biplist 模块:
$ pip install biplist -
接下来,打开 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。
-
将您的测试程序包复制到工作目录,然后运行以下命令:
$ unzip swiftExampleTests.xctest-1.zip -
成功解压缩程序包后,您可以通过运行以下命令找到工作目录树结构:
$ tree .您应该在
.xctest目录 (例如我们示例中的swiftExampleTests.xctest) 中找到Info.plist文件:. `-- swiftExampleTests.xctest (directory) |--Info.plist`-- (any other files) -
要查找程序包名称值,您可以使用 Xcode 或 Python 打开 Info.plist。
对于 Python,您可以通过运行以下命令来安装 biplist 模块:
$ pip install biplist -
接下来,打开 Python 并运行以下命令:
import biplist info_plist = biplist.readPlist('swiftExampleTests.xctest/Info.plist') print info_plist['CFBundleExecutable']有效的 XCtest 应用程序包应生成类似以下内容的输出:
swiftExampleTests有关更多信息,请参阅 将 Device Farm 与 XCTest 适用于 iOS 的集成。