如何在真实设备上安装 XCUITest runner 应用程序和 ipa 并获取结果?

How do I install the XCUITest runner app and ipa on a real device and get the results?

如何在真实设备上安装 XCUITest runner 应用程序和 ipa 并获取结果?

我有一个 runner.app 是通过构建它进行测试而生成的,还有一个 deployed/signed .ipa.

现在我想要的是将它安装在真实设备上,执行它,并获取设备日志。

已编辑答案...

有可能实现这一目标。要构建 UI 测试应用程序包的 ipa,您可以按照以下步骤操作:

  1. 打开包含在 Xcode 中的项目。
  2. Select 您要为其构建 ipa 的设备在方案旁边。这可以是实际设备或模拟器。
  3. 产品 > 构建目的 > 测试
  4. 在派生数据中找到 [your_ui_test_bundle_name].app 文件。

    • 派生数据默认位于~/Library/Developer/Xcode/DerivedData/
    • 要找到此文件,请深入了解您项目的 DerivedData,导航至 Build > Products,然后根据内容导航到相应的目录您在第 2 步中选择了。如果您选择了模拟器,请查看 -iphonesimulator/,或者如果您选择了设备,请查看 -iphoneos/。 UI 测试包 .app 文件应该在该目录中。
  5. 创建一个名为 Payload 的目录,区分大小写,必须 命名为这个目录。

  6. .app 文件移动到 Payload 目录中。
  7. 压缩Payload目录。
  8. 将压缩目录重命名为.ipa 文件扩展名。系统会提示您 select Keep .ipa.

现在您已经 UI 测试包应用程序保存为 ipa。您还可以通过以下过程在 Xcode 中手动将此 ipa 上传到设备(奖金信息,耶!)

  1. Window > 设备和模拟器
  2. Select 您连接的设备。
  3. 点击 已安装的应用程序 下的 + 按钮。
  4. 导航到 select 您之前压缩的 UI 测试 .ipa 文件。
  5. 它应该安装到设备上。

信用到期:https://medium.com/ios-os-x-development/how-to-run-your-iphone-test-on-aws-device-farm-98f18086811e

您可以使用 bundleId :

let app = XCUIApplication(bundleIdentifier: "yourapp.bundle.id")

您可以尝试使用:

xcodebuild test-without-building -xctestrun somepath/YourAppName_iphoneos14.4-arm64.xctestrun -destination 'platform=iOS, id=some_id' 

我搬家了YourAppName_iphoneos14.4-arm64.xctestrun,YourAppName.app, YourAppNameUITests-Runner.app 从常规 Library/Developer/etc.. 构建文件夹到某些 本地文件夹 。然后我打开了 *.xctestrun 文件,这是一个 xml 文件,然后 手动修改了本地文件夹的路径

我找不到任何关于它的官方信息,但 *.xctestrun 文件似乎被 xcodebuild 使用,以便找到所有相关的人工制品,即两个应用程序文件夹。我猜想这就是他们如何设法 运行 仅使用应用程序或 ipa 进行测试,而无需在各种云上使用源代码...

PS。问题是关于 IPA,但它可以转换为应用程序,对吧?至少有一个线程 - How to convert .ipa to .app file?