【问题标题】:Is there a way to run XCTest(UI) against an archived build(.ipa)?有没有办法针对存档的构建(.ipa)运行 XCTest(UI)?
【发布时间】:2016-04-09 22:44:16
【问题描述】:

我正在研究如何使用 XCTest 来缩小我们的自动化测试差距。 从开发者文档中,我只看到这样的内容:

xcodebuild test -project MyAppProject.xcodeproj -scheme MyApp

https://developer.apple.com/library/tvos/documentation/DeveloperTools/Conceptual/testing_with_xcode/chapters/08-automation.html#//apple_ref/doc/uid/TP40014132-CH7-SW1

我想知道是否有办法针对存档构建 (.ipa) 运行 XCTest(UI 测试)? 要么 我们是否可以将构建和测试分开,以便我们可以先构建并稍后针对该构建进行测试?

谢谢

【问题讨论】:

  • 不知道,但这听起来与可能的事情相反:使用 Xcode Server 持续集成,它运行测试并在每次构建时生成存档。
  • 我们的案例是我们想要在多个设备上针对相同的代码提交运行测试。因此,我们应该为每次测试运行构建应用程序是没有意义的。
  • CI 不是“为每个测试构建”,它是“为每个构建运行测试套件”,通常也是“为每个提交/每天/合并到 master 构建”。而且每个集成都可以在多台设备上运行相同的测试。
  • 感谢您的回复。我的用例是我想解耦构建服务器和设备管理服务器,我只需要在模拟器中运行基本的验证测试以及构建过程,这很容易做到。但是,在那之后,我想在设备管理服务器中使用真实连接的设备运行更多测试,这意味着我想在生成构建工件后运行更多测试。我想弄清楚是否可以在不重新构建应用程序的情况下运行进一步的测试。
  • 是否可以直接使用构建服务器中生成的.ipa在设备管理服务器中运行更多的测试?

标签: ios xctest


【解决方案1】:

如果您想将构建和测试阶段分开,您可以使用 xcodebuild 标志 build-for-testing(构建 xctestrun 文件)和 test-without-building(运行它)。如果您希望在多个设备上使用 build-for-testing,您可能希望 build-without-testing 到通用设备。

查看https://medium.com/xcblog/speed-up-ios-ci-using-test-without-building-xctestrun-and-fastlane-a982b0060676了解更多详情

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-05
    • 1970-01-01
    • 1970-01-01
    • 2012-10-02
    • 2016-01-11
    • 1970-01-01
    • 2016-07-03
    相关资源
    最近更新 更多