我可以将我的UI自动化测试与XCode集成并设置每晚自动运行吗?

时间:2014-08-11 16:06:14

标签: ios xcode continuous-integration ios-ui-automation

我需要知道是否可以与XCode服务器进行持续集成。例如:set每晚运行测试或有人提交更改,等等..

我正在尝试将一个iOS Ui Automation工具与我的Xcode服务器集成 感谢

3 个答案:

答案 0 :(得分:4)

这里有一些问题:

  • UIAutomation在Xcode Server中没有内置支持。我已经提出了错误,我已经在WWDC追逐了人们。大多数我曾经遇到过这个问题基本上都是"耸耸肩。"我不确定UIAutomation现在是Apple的优先考虑事项。所以你不会得到任何官方支持。
  • 如前所述,您可以使用触发器。除了可能的错误记录之外,触发器还无法向Xcode Server报告添加任何内容。但是你不会把任何东西添加到漂亮的报告表中。
  • 在实际设备上运行传统上一直是个问题(如果您关心它。)加载应用程序部分对我们来说是一个问题,但Xcode Server可能能够为您预加载应用程序。此外,似乎这可能在iOS 8 SDK中发生了变化。

这种工作流程存在很多不确定性。我希望Apple最终发布公告或添加新工具,但我得到的最佳答案是,如果您想沿着这条路走下去,请使用UI单元测试。这很遗憾,因为它需要Obj-C或Swift的知识,并且意味着在API级别而不是抽象级别与应用程序交互,但如果您正在寻找Apple希望看到人们走向的方向那就是它。

2015年7月4日编辑:从WWDC 2015开始,作为Xcode 7的一部分,有一个新的UI测试组件,根据我的经验,似乎完全支持,并且承诺支持Xcode Server。我非常强烈建议使用它,而不是使用仪器UIAutomation工具。

答案 1 :(得分:1)

随着Xcode6的临近,他们正在向XCode Server添加一些功能,特别是它看起来像“触发器”将有助于运行iOS UIAutomation工具。由于您可以从cmd行运行UI自动化脚本,因此应该可以利用触发器在构建后运行脚本。这与机器人运行时的逻辑一起将让你决定它应该是每晚还是每次提交。

https://developer.apple.com/library/prerelease/ios/documentation/DeveloperTools/Conceptual/WhatsNewXcode/Articles/xcode_6_0.html#//apple_ref/doc/uid/TP40014509-SW1

答案 2 :(得分:0)

我在UIAutomation上编写了一个名为Illuminator的框架,用于处理夜间测试运行,拉取请求测试和其他自动便利等任务。

它提供灵活且可扩展的命令行,可以执行您喜欢的任何特定测试子集,并以JUnit格式生成报告(由Jenkins使用)。