View a markdown version of this page

在 AWS Device Farm 中对 XCTest UI 测试进行故障排除 - AWS Device Farm

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

在 AWS Device Farm 中对 XCTest UI 测试进行故障排除

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

上传错误

上传 XCTest 界面测试时可能会出现以下错误。

XCTEST_UI_TEST_PACKAGE_UNZIP_FAILED

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

We could not open your test IPA file. Please verify that the file is valid and try again.

确保您可以解压应用程序包,而不会出现错误。在以下示例中,软件包的名称是 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

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

We could not find the Payload directory inside your test package. Please unzip your test package, verify that the Payload directory is inside the package, and try again.

在以下示例中,软件包的名称是 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

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

We could not find the .app directory inside the Payload directory. Please unzip your test package and then open the Payload directory, verify that the .app directory is inside the directory, and try again.

在以下示例中,软件包的名称是 swift-sample-。UI.ipa

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

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

    $ tree .

    如果 XCTest UI 包有效,您将在该目录swift-sampleUITests-Runner.app中找到一个.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

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

We could not find the Plugins directory inside the .app directory. Please unzip your test package and then open the .app directory, verify that the Plugins directory is inside the directory, and try again.

在以下示例中,软件包的名称是 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

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

We could not find the .xctest directory inside the plugins directory. Please unzip your test package and then open the plugins directory, verify that the .xctest directory is inside the directory, and try again.

在以下示例中,软件包的名称是 swift-sample-。UI.ipa

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

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

    $ tree .

    如果 XCTest UI 包有效,您将在该.xctestPlugins目录中找到一个目录。在我们的示例中,该目录被称为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

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

We could not find the Info.plist file inside the .app directory. Please unzip your test package and then open the .app directory, verify that the Info.plist file is inside the directory, and try again.

在以下示例中,软件包的名称是 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

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

We could not find the Info.plist file inside the .xctest directory. Please unzip your test package and then open the .xctest directory, verify that the Info.plist file is inside the directory, and try again.

在以下示例中,软件包的名称是 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

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

We could not the CPU architecture value in the Info.plist file. Please unzip your test package and then open the Info.plist file inside the .app directory, verify that the key "UIRequiredDeviceCapabilities" is specified, and try again.

在以下示例中,软件包的名称是 swift-sample-。UI.ipa

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

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

    $ tree .

    你应该在.app目录swift-sampleUITests-Runner.app中找到这个Info.plist文件,就像我们的例子一样:

    . `-- 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 架构的价值,你可以 Info.plist 使用 Xcode 或 Python 打开。

    对于 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

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

We could not find the platform value in the Info.plist. Please unzip your test package and then open the Info.plist file inside the .app directory, verify that the key "CFBundleSupportedPlatforms" is specified, and try again.

在以下示例中,软件包的名称是 swift-sample-。UI.ipa

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

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

    $ tree .

    你应该在.app目录swift-sampleUITests-Runner.app中找到这个Info.plist文件,就像我们的例子一样:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. 要找到平台价值,你可以 Info.plist 使用 Xcode 或 Python 打开。

    对于 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

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

We found the platform device value was wrong in the Info.plist file. Please unzip your test package and then open the Info.plist file inside the .app directory, verify that the value of the key "CFBundleSupportedPlatforms" does not contain the keyword "simulator", and try again.

在以下示例中,软件包的名称是 swift-sample-。UI.ipa

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

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

    $ tree .

    你应该在.app目录swift-sampleUITests-Runner.app中找到这个Info.plist文件,就像我们的例子一样:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. 要找到平台价值,你可以 Info.plist 使用 Xcode 或 Python 打开。

    对于 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

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

We could not the form factor value in the Info.plist. Please unzip your test package and then open the Info.plist file inside the .app directory, verify that the key "UIDeviceFamily" is specified, and try again.

在以下示例中,软件包的名称是 swift-sample-。UI.ipa

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

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

    $ tree .

    你应该在.app目录swift-sampleUITests-Runner.app中找到这个Info.plist文件,就像我们的例子一样:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. 要查找外形系数值,可以 Info.plist 使用 Xcode 或 Python 打开。

    对于 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

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

We could not find the package name value in the Info.plist file. Please unzip your test package and then open the Info.plist file inside the .app directory, verify that the key "CFBundleIdentifier" is specified, and try again.

在以下示例中,软件包的名称是 swift-sample-。UI.ipa

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

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

    $ tree .

    你应该在.app目录swift-sampleUITests-Runner.app中找到这个Info.plist文件,就像我们的例子一样:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. 要查找软件包名称值,可以 Info.plist 使用 Xcode 或 Python 打开。

    对于 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

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

We could not find the executable value in the Info.plist file. Please unzip your test package and then open the Info.plist file inside the .app directory, verify that the key "CFBundleExecutable" is specified, and try again.

在以下示例中,软件包的名称是 swift-sample-。UI.ipa

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

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

    $ tree .

    你应该在.app目录swift-sampleUITests-Runner.app中找到这个Info.plist文件,就像我们的例子一样:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. 要找到可执行文件值,可以 Info.plist 使用 Xcode 或 Python 打开。

    对于 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

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

We could not find the package name value in the Info.plist file inside the .xctest directory. Please unzip your test package and then open the Info.plist file inside the .xctest directory, verify that the key "CFBundleIdentifier" is specified, and try again.

在以下示例中,软件包的名称是 swift-sample-。UI.ipa

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

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

    $ tree .

    你应该在.app目录swift-sampleUITests-Runner.app中找到这个Info.plist文件,就像我们的例子一样:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. 要查找软件包名称值,可以 Info.plist 使用 Xcode 或 Python 打开。

    对于 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

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

We could not find the executable value in the Info.plist file inside the .xctest directory. Please unzip your test package and then open the Info.plist file inside the .xctest directory, verify that the key "CFBundleExecutable" is specified, and try again.

在以下示例中,软件包的名称是 swift-sample-。UI.ipa

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

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

    $ tree .

    你应该在.app目录swift-sampleUITests-Runner.app中找到这个Info.plist文件,就像我们的例子一样:

    . `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) | `swift-sampleUITests.xctest (directory) | |-- Info.plist | `-- (any other files) `-- (any other files)
  3. 要找到可执行文件值,可以 Info.plist 使用 Xcode 或 Python 打开。

    对于 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 集成

XCTEST_UI_TEST_PACKAGE_MULTIPLE_APP_DIRS

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

We found multiple .app directories inside your test package. Please unzip your test package, verify that only a single .app directory is present inside the package, then try again.

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

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

    $ tree .

    如果 XCTest UI 程序包有效,您应在 .zip 测试程序包中找到类似于示例中的 swift-sampleUITests-Runner.app 的单个 .app 目录。

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

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

XCTEST_UI_TEST_PACKAGE_MULTIPLE_IPA_DIRS

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

We found multiple .ipa directories inside your test package. Please unzip your test package, verify that only a single .ipa directory is present inside the package, then try again.

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

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

    $ tree .

    如果 XCTest UI 程序包有效,您应在 .zip 测试程序包中找到类似于示例中的 sampleUITests.ipa 的单个 .ipa 目录。

    . `--swift-sample-UI.zip--(directory) `-- sampleUITests.ipa (directory) `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) `-- (any other files)

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

XCTEST_UI_TEST_PACKAGE_BOTH_APP_AND_IPA_DIR_PRESENT

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

We found both .app and .ipa files inside your test package. Please unzip your test package, verify that only a single .app or .ipa file is present inside the package, then try again.

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

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

    $ tree .

    如果 XCTest UI 程序包有效,您应在 .zip 测试程序包中找到类似于示例中的 sampleUITests.ipa.ipa 目录或类似于 swift-sampleUITests-Runner.app.app 目录。您可以参考 将适用于 iOS 的 XCTest UI 与 Device Farm 集成 相关文档中的有效 XCTEST_UI 测试程序包示例。

    . `--swift-sample-UI.zip--(directory) `-- sampleUITests.ipa (directory) `-- Payload (directory) `-- swift-sampleUITests-Runner.app (directory) `-- (any other files)

    或者

    . `--swift-sample-UI.zip--(directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) `-- (any other files) `-- (any other files)

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

XCTEST_UI_TEST_PACKAGE_PAYLOAD_DIR_PRESENT_IN_ZIP

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

We found a Payload directory inside your .zip test package. Please unzip your test package, ensure that a Payload directory is not present in the package, then try again.

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

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

    $ tree .

    如果 XCTest UI 程序包有效,您不应在测试程序包中找到 Payload 目录。

    . `--swift-sample-UI.zip--(directory) `-- swift-sampleUITests-Runner.app (directory) |-- Info.plist |-- Plugins (directory) `-- (any other files) `-- Payload (directory) [This directory should not be present] |-- (any other files) `-- (any other files)

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

测试见解

当您选择使用测试见解时,Device Farm 会为您的运行及其下的每项任务生成一份汇总报告。如果服务无法生成报告,则见解报告的状态为SKIPPEDERRORED,报告消息将解释原因。为 XCTest UI 测试生成见解时可能会出现以下消息。

任务没有运行到完成

Unable to generate test insights because the job was status.

任务以非成功状态(其中 statusSTOPPEDERROREDSKIPPED)结束,因此没有结果可供汇总。以失败状态结束的运行仍能获得见解。

要解决此问题,请调查任务未完成的原因。在许多情况下,工作message领域本身可以解释任务未完成的原因。

结果不包含测试用例

Test insights could not be generated. The xcresult_summary.json file was parsed successfully but contained no test cases.

结果工件已成功解析,但包含零个测试用例。

要解决此问题,请验证您的测试套件是否包含至少一个测试用例,并且结果是否正确存储在$DEVICEFARM_LOG_DIR

测试输出超过了支持的最大大小

Unable to generate test insights: test output "xcresult bundle" exceeds the maximum supported size of 1GB.

xcresult 捆绑包大于 1 GB。

要解决此问题,请通过修剪日志或附件,将 xcresult 包大小减少到 1 GB 以下。

找不到 xcresult 捆绑包

Unable to generate test insights. The xctestresult bundle file (.xcresult) was not found in the output artifacts.

Device Farm 找不到此任务的.xcresult捆绑包,因此没有结果可供汇总。

Device Farm 会在下方的任意位置查找该捆绑包$DEVICEFARM_DERIVED_DATA_PATH。默认 XCTest UI 测试规范会自动在那里生成,因此此消息通常表示自定义测试规范未将结果写入该位置。

要确认包是否已生成,请下载任务的客户工件,然后在派生数据文件夹下查找.xcresult目录。

无法处理 xcresult 测试结果

Test insights could not be generated because of an error while processing the .xcresult test results.

设备农场找到了一个.xcresult捆绑包,但无法从中读取测试结果。

要解决此问题,请确保您的测试运行生成的.xcresult捆绑包有效。确认您的测试规范不会在运行完成之前修改、截断或存档软件包,并且xcodebuild命令已完成而不是因超时而中断。