2

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

我正在使用以下步骤(bitrise 步骤)来创建 .app 文件夹和 zip 文件。1) 设置 Xcode 项目内部版本号 2) Xcode Archive & Export for 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 测试创建构建的正确方法是什么?

4

2 回答 2

3

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

于 2018-07-05T09:39:36.030 回答
0

要获得更完整的答案,您必须压缩.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
于 2020-01-06T22:10:56.793 回答