Appium 似乎不支持 XCUITest 模拟器架构

XCUITest Simulator architecture appears to be unsupported by the Appium

我正在尝试在 saucelabs(appium) 中测试我的原生反应 iOS 应用程序。 Saucelabs 需要在 xcode 构建后创建的 .app 文件夹的压缩文件。

我正在使用以下步骤(bitrise 步骤)来创建 .app 文件夹和 zip 文件。 1) 设置 Xcode 项目内部版本号 2) Xcode iOS

的存档和导出

创建 zip 文件后,将其上传到 saucelabs。

当我在 saucelabs 中执行测试时,我从 appium 服务器收到以下错误。

> 2018-06-20 08:58:53:668 - [XCUITest] *********************************
> 2018-06-20 08:58:53:669 - [XCUITest] Simulator architecture appears to be unsupported by the '/var/folders/s9/gmkmk07d6gq_pt_v72yyt8xc0000kr/T/tmpFzu0Wp/test.app' application. Make sure the correct deployment target has been selected for its compilation in Xcode.
> 2018-06-20 08:58:53:669 - [XCUITest] Don't be surprised if the application fails to launch.
> 2018-06-20 08:58:53:669 - [XCUITest] *********************************

当我从 bitrise 下载 zip 并在本地 appium 服务器中测试 zip 时,我遇到了同样的错误。

但是当我使用 Xcode 从本地 MacBook 系统创建新版本时,它在 saucelabs 和本地 appium 服务器中完美运行。

使用 bitrise 为 saucelabs iOS 测试创建构建的正确方法是什么?

使用 -sdk iphone-simulator 构建 .app。然后创建一个zip文件并上传到saucelabs

要获得更完整的答案,您必须压缩 .app,例如zip -r IOS.zip IOS.app/ 然后复制 .zip 的完整路径并将其与下面的脚本一起使用:

$name 是 zip 的名称以及您将如何在 Sauce Storage 上引用它 $path 是您构建机器/本地计算机上 zip 的绝对路径。

#!/usr/bin/env bash

export SAUCE_USERNAME
export SAUCE_ACCESS_KEY

curl \
      --progress-bar \
      -u "${SAUCE_USERNAME}":"${SAUCE_ACCESS_KEY}" \
      -X POST \
      -H "Content-Type: application/octet-stream" \
      -H "Connection: Keep-Alive" \
      -H "Keep-Alive: timeout=180, max=4000" \
      "https://saucelabs.com/rest/v1/storage/""${SAUCE_USERNAME}""/$name?overwrite=true" --data-binary @"$path" ||
      exit