Dev AWS ice Farm 中的XCTest用户界面测试疑难解答 - AWS Device Farm

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

Dev AWS ice Farm 中的XCTest用户界面测试疑难解答

以下主题列出了上传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 用户界面与 Device Farm 集成

XCTEST_UI_ _ TEST _ _ PACKAGE _ PAYLOAD DIR MISSING

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

警告

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

在以下示例中,程序包的名称为 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 用户界面与 Device Farm 集成

XCTEST_UI_ _ TEST _ _ PACKAGE _ APP DIR MISSING

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

警告

我们无法在 Payload 目录中找到 .app 目录。请解压缩您的测试程序包,打开 Payload 目录,并验证 .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 用户界面与 Device Farm 集成

XCTEST_UI_ _ TEST _ _ PACKAGE _ PLUGINS DIR MISSING

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

警告

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

在以下示例中,程序包的名称为 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 用户界面与 Device Farm 集成

XCTEST_UI_ _ TEST _ _ PACKAGE _ _ XCTEST IN_ DIR _ MISSING PLUGINS DIR

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

警告

我们无法在 plugins 目录中找到 .xctest 目录。请解压缩您的测试程序包,打开 plugins 目录,并验证 .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 用户界面与 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 用户界面与 Device Farm 集成

XCTEST_UI_ _ TEST _ _ PACKAGE _ _ PLIST IN_ FILE _ MISSING XCTEST DIR

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

警告

我们无法在 .xctest 目录中找到 Info.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 用户界面与 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 用户界面与 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 用户界面与 Device Farm 集成

XCTEST_UI_ _ TEST _ PACKAGE _ _ WRONG _ PLATFORM DEVICE VALUE

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

警告

我们发现 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']

    如果 XCTest UI 包有效,则该值不应包含关键字simulator

    有关更多信息,请参阅 将 iOS XCTest 用户界面与 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 用户界面与 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 用户界面与 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 用户界面与 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 用户界面与 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 用户界面与 Device Farm 集成