在 xcode ui test 中运行所有测试类

Posted

技术标签:

【中文标题】在 xcode ui test 中运行所有测试类【英文标题】:run all test classes in xcode ui test 【发布时间】:2016-06-07 10:21:45 【问题描述】:

我对 xcode ui 应用程序测试完全陌生。我有 ios 应用程序的来源。但我必须使用 xcode ui 测试来测试应用程序。目前我正在通过创建新文件并通过记录添加测试用例向我的 ui 测试添加新的测试类。

我可以单独运行我的测试类。但我想一次执行我所有的测试类。我该怎么做。

我是这个领域的新手。任何形式的帮助将不胜感激。

你也可以给我一个 ui 测试项目链接或任何可以帮助我的链接。我浏览了 apple.developers 网站。

【问题讨论】:

【参考方案1】:

不确定我是否理解,但是当你按下 cmd-U 时会发生什么?

确保为方案启用 UI 测试。

【讨论】:

是的,如果我按下它,它会运行,但我可以通过我的代码来完成它 我不明白你的意思如果你能用代码做到这一点。你想达到什么目的? 有什么方法可以在swift中使用java之类的主文件运行吗?【参考方案2】:

要运行所有测试,您可以在终端中使用以下命令:

$ xcodebuild test

或者,您可以使用Scan 来获得更简单的界面。

要自动运行测试,您可以创建一个 shell 脚本来运行此命令。如果您希望shell脚本自动运行,请使用Jenkins或类似的持续集成软件以指定的时间间隔运行shell脚本。

您可以使用xcodebuildscan 设置作业以运行您的测试,并在作业完成或失败时发送电子邮件。这里有一篇关于如何在 OS X 上安装 Jenkins 的优秀博文:https://nickcharlton.net/posts/installing-jenkins-osx-yosemite.html,我已经写了一篇博文,其中包含一些关于配置可能会引起你注意的事情的注释:http://qualitytesting.tumblr.com/post/142473883709/building-with-jenkins-and-xcode。电子邮件功能默认可用,因此您只需在配置工作时配置要接收通知的电子邮件地址。

要在 Xcode 中运行所有测试,您可以使用 cmd+U 或转到左侧的测试导航器,然后单击将鼠标悬停在测试套件上时出现的播放按钮。

【讨论】:

有什么方法可以在swift中使用java之类的主文件运行吗? 据我所知,要运行 Java main 方法,您仍然需要告诉它以某种方式运行。在 Swift 中,您可以调用 shell 命令来运行您的代码或在 Xcode 中按 play。如果这些方法之一没有涵盖它,你想如何调用你的测试? 实际上我的目标是构建一个自动化框架,在完成我的测试执行后我必须发送邮件。所以,我必须通过一个文件运行我的代码,该文件首先触发我的测试执行,完成执行后,它将完成其他步骤。你能给我一个链接,我可以知道如何从文件中触发 UI 测试执行,并在我的测试执行完成时得到通知??????感谢您的帮助 您可以使用 Jenkins 执行此操作,链接在我上面的答案中。您可以设置作业以定期运行,例如每 15 分钟一次,或周一至周五早上 5 点。您还可以通过单击按钮触发作业以手动运行。我会更新我的答案以包含更多详细信息。 非常感谢您的建议,但实际上我不想使用命令 u 或 jenkins 运行我的测试类。我希望它通过 xctest 框架运行它,因为在完成执行后我必须做一些更多的任务。请帮助我如何使用文件中的 xctest 触发或运行我的测试类?

以上是关于在 xcode ui test 中运行所有测试类的主要内容,如果未能解决你的问题,请参考以下文章

xcode 8 执行 UI 测试用例有啥命令吗?

是否可以使用SpriteKit在应用程序上使用Xcode UI Testing?

使用 swift 2.3 从 xcode 8 中的命令行运行 xcode ui 测试

如何在 Xcode UI 测试中获得授权部分

从 XCode UI 测试目标访问项目文件

如何在 Xcode 中运行单个 UI 测试