有多种原生和混合 iOS 测试框架可让您创建测试场景(例如模拟用户点击)、记录这些事件并在稍后(可能在 CI 环境中)使用它们进行回放。下面列出了我们研究过的一些框架以及我们在移动环境中使用过的一些框架。
KIF
概述:
KIF 代表“保持功能”。通过利用操作系统为视觉障碍人士提供的辅助功能属性,它可以轻松实现 iOS 应用程序的自动化。
KIF 依靠 iOS 的内置可访问性来执行其测试步骤。因此,您的应用程序完全可访问非常重要。这也是确保您的应用可供视障人士使用的好方法。使您的应用程序可访问通常就像为您的视图提供合理的标签一样简单。 Apple 的文档中提供了更多详细信息。
可以在 Github 上找到包含源代码和说明的网站
测试用例是通过 Xcode/AppCode 在 Objective-C 中创建的。
弗兰克
概述:
Frank 是“用于原生 iOS 应用的 Selenium”。 Frank 允许您编写结构化文本测试/验收测试/要求(使用 Cucumber)并让它们针对您的 iOS 应用程序执行。
主要前提是框架将HTTP服务器嵌入到应用的测试版本中,然后允许客户端向应用发送HTTP请求以运行测试场景。
“Frank 还包括一个强大的“应用检查器”(称为 Symbiote),您可以使用它来获取有关正在运行的应用的详细信息。这使您可以在应用程序中检查屏幕上的对象。”
测试用例:
测试用例使用 Cucumber 以自然语言编写。
(上面已经提到的网站)
葫芦
概述:
Calabash 与 Frank 建立在相同的架构之上。它将 HTTP 服务器嵌入到应用的测试版本中,然后允许客户端向应用发送 HTTP 请求以运行测试场景。
“Calabash 是跨平台的,支持 Android 和 iOS 原生应用。它是开源和免费的,并且有一家名为 LessPainful 的公司支持和开发它。”
“Calabash 包含使测试代码能够以编程方式与本机和混合应用程序交互的库。交互由许多最终用户操作组成。
测试用例是通过 Cucumber 以自然语言编写的。这是一个例子:
主站:http://calaba.sh
MonkeyTalk
(以前称为“FoneMonkey”)
概述:
Monkeytalk 是一个自动化测试框架,让用户能够记录一组指令,然后在模拟器或设备中回放这些脚本。
MonkeyTalk 是免费和开源的。它可以从命令行运行,因此它似乎是在 CI 构建环境中使用的一个很好的候选者。它还生成用于在 Jenkins 中报告测试结果的 JUnit XML 文件。
MonkeyTalk 提供编译成应用测试版本的库。
测试用例:
MonkeyTalk 自带用于创建测试用例的 IDE。它记录在模拟器或设备上完成的动作,并可以脚本形式回放它们。它允许为输入数据(例如名称和密码)提供数据文件。 IDE 可以在 Windows、OSX 或 Linux 上运行,但 iOS 设备和模拟器只能在 OSX 上运行。
主:http://www.gorillalogic.com/testing-tools/monkeytalk