首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用并行运行和using构建验证片状UI测试

使用并行运行和using构建验证片状UI测试
EN

Stack Overflow用户
提问于 2019-06-05 03:34:38
回答 1查看 726关注 0票数 3

我对我的一些UI测试的不稳定有问题。我希望能够在多个模拟器中多次运行一个特定的测试。其想法是将此解决方案应用于本地主机,然后应用于CI服务器。

一个完美的解决方案是,如果有任何选项,我可以将PR中的一些测试标记为flaky,然后在xcodebuild test期间运行它们,而不显式地指定它们的名称。

我知道可以选择并行运行测试,但我希望在模拟器的副本上多次运行一次测试,而不是在它们之间分发测试。应该更简单点,我想。

我找到了Can I run an XCTest suite multiple times?主题,描述的主题是如何使用measureBlock运行连续测试,但我不确定如何指定运行次数。我的背景是C#,在那里我只能访问Repeat(x)和case Category,我可以在测试运行期间指定它们。我在找类似的东西。

将测试类别标记为Flaky->应用属性Retry(10) ->使用命令工具运行带有Flaky类别的所有测试

想了解一下如何为我的iOS测试实现这种解决方案。

EN

回答 1

Stack Overflow用户

发布于 2019-06-06 16:01:07

对于重新运行片状UI测试的问题,简单的答案是no,XCTest & xcodebuild不支持这个选项。因此,这在本土上是不可能的。

更长的答案是--,这是可能的,只是不容易实现。

您需要的

  1. 一个CI环境,它将使用完整的测试集运行xcodebuild命令
  2. 从测试结果(或其他类似语言)中获取失败测试的python脚本
  3. 管理您的CI运行程序(或至少访问R/W权限)

怎么做?

您的测试将在第一个xcodebuild test...中运行(有些测试将在流程中失败)。您将让这些测试完成,然后解析那些失败的测试(使用由您编写的脚本)。您可以从例如StandardOutputAndError.txt文件(how do you find it?)获得这些信息,这就是为什么您需要完全访问您的CI运行程序。

在脚本从结果文件中解析失败测试之后,可以使用该脚本构造新的xcodebuild命令,该脚本只运行分析过的测试,因为它们失败了。新的xcodebuild将使用only-testing:标志(是的,可以在一个xcodebuild中有多个)来指定测试,它应该运行(how to use these flags?)。

在此之后,新构建的xcodebuild命令将返回到CI环境并在那里执行。我正在处理类似的事情(在python脚本中构建xcodebuild,只根据iOS项目中的更改来运行测试,并在CI中执行它),my question应该可以帮助您完成执行和CI环境。

总之:no,没有本地支持,但是yes可以这样做,如果你足够勇敢的话:-)

希望这个有帮助。

E:哦和不-你不能(也不应该)为此使用measureBlock。它们用于性能测试,并且没有重新运行失败测试的功能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56453945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档