可可触控自动化UI测试有没有好的教程?

Posted

技术标签:

【中文标题】可可触控自动化UI测试有没有好的教程?【英文标题】:Is there a good tutorial on cocoa touch automated UI testing? 【发布时间】:2011-03-22 14:58:16 【问题描述】:

通常,我发现几乎所有我最重要的 iPhone 开发测试用例都围绕 UI 测试,而不是业务逻辑或数据测试。我对 XCode 环境中的自动化 UI 测试不是很熟悉。有人能指点我一个好的教程或书籍吗?

更新 这个问题是几年前写的,从那时起 UI 测试已经走了很长一段路。使用 UI 自动化仍然是一种选择,但 KIF Framework 现在是功能测试的更好解决方案,IMO。

来自 KIF 的 github 页面:

KIF,代表 Keep It Functional,是一个 ios 集成测试 框架。它通过利用 操作系统为具有以下功能的用户提供的可访问性属性 视力障碍。

KIF 使用标准 XCTest 测试构建和执行测试 目标。测试在主线程中同步进行(运行 运行循环强制时间流逝)允许更复杂 逻辑和组成。这也使 KIF 能够利用 Xcode 5 Test Navigator、命令行构建工具和 Bot 测试 报告。

【问题讨论】:

【参考方案1】:

您最好的选择是使用随 iOS 4.0 首次亮相的 UI 自动化工具。可以编写脚本来测试用户界面的许多方面。

Apple 在WWDC 2010 session 306 的视频中对这个工具进行了很好的介绍 - “使用仪器自动化用户界面测试”。我在我的高级 iOS 开发课程on iTunes U 的“测试”会话的视频中演示了如何设置脚本和进行测试。可以在 here 找到我在该课程中关于 UI 自动化的笔记,包括示例脚本。

此外,您可能还想看看 James Turner 的文章“How to use UIAutomation to create iPhone UI tests”和 Alex Vollmer 的“Working with UIAutomation”。

【讨论】:

【参考方案2】:

您真正想测试什么?我同意测试视图交互很重要,但我发现我通常可以构建一个单元或集成测试来测试视图或视图,并且它是控制器来验证此行为,而无需尝试通过 UI 驱动整个应用程序。

例如http://blog.carbonfive.com/2010/03/10/testing-view-controllers/ 有测试示例,这些测试测试 UIKit 视图是否绑定到 IBAction 或具有适当的委托,以及控制器是否响应这些操作或适当地委托消息。没有必要实际驾驶UIButtonUITableView,因为我愿意相信这些类确实有效,而只需要测试我对它们的使用和配置。

对于自定义视图组件,您可以直接在测试中发送 UIResponder 消息并断言它们的行为符合预期,同样无需驱动整个 UI。

你能提供一个你想测试的行为的例子吗?

【讨论】:

【参考方案3】:

这个链接可能会有所帮助,看看https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/UsingtheAutomationInstrument/UsingtheAutomationInstrument.html

【讨论】:

以上是关于可可触控自动化UI测试有没有好的教程?的主要内容,如果未能解决你的问题,请参考以下文章

自动化测试工具UIRecorder安装教程

如何提高UI自动化测试的质量

如何使用现有的静态库构建可可触控框架

python+appium自动化测试-单点和多点触控操作

ui自动化测试是啥

SAP UI5 的自动化测试套件页面的开发步骤介绍