随着移动应用开发日益增长,以及用户数量的急剧增加,因此需要使用iOS测试工具从手动测试转向测试自动化。市场上有许多工具可以帮助iOS应用的测试。在本文中,我们将讨论7个经常用于iOS应用测试自动化的主要的测试工具。
XCTest - iOS测试工具
XCTest是一个用于单元测试的测试框架。该框架由Apple Inc.设计和开发。它与IDE(集成开发环境)很好地集成,使我们能够编写测试用例,并执行这些测试用例,而不用考虑使用TDD工作流。OCUnit在iOS 6之前用于单元测试,现已弃用并替换为XCTest单元测试框架。
更多信息:XCTest
UI Automation - iOS测试工具
它是Apple Inc.为基于UI的iOS应用功能测试框架。它支持黑盒测试,有助于在被测应用的UI(用户界面)上模拟和自动化终端用户行为。UI自动化工具需要使用Xcode附带的“instruments”。在UI Automation中,测试脚本是用JavaScript编写的,而实际的iOS代码是用Swift或Objective-C编写的,它们是不同的编程语言。
该工具使用的问题在于它没有足够的支持文档和论坛。如果测试人员遇到错误,那么他必须碰运气和试验方法来解决问题。Apple不会非常频繁地发布XCODE版本,并且很少解决框架问题。Apple的工具符合Apple标准,不支持自定义。如果此工具不符合我们的测试期望,那么其它工具可以比它工作的更好。
更多信息:UI Automation
APPIUM - iOS测试自动化
APPIUM是一个众所周知的开源、免费、跨平台的移动自动化框架,用于UI(用户界面)测试。它提供的功能允许测试人员为任何移动应用编写UI测试自动化脚本以实现自动化测试。它不仅支持iOS应用,还支持Android应用。通过APPIUM,可以使用Selenium JSON编写器并利用其功能。Appium工具强大的自动化功能正将其推向行业范围的移动测试标准,就像Selenium WebDriver用于Web应用自动化测试一样。
iOS应用的Appium测试脚本可重用且易于维护。该工具有由APPIUM团队维护的丰富文档,并提供广泛的论坛支持,有助于轻松排除问题。它没有像其他iOS自动化工具那样广泛的学习曲线。在测试支持跨iOS、Android和其他OS的应用时,Appium是适合的。
下载:Appium
KIF(Keep It Functional) - iOS测试工具
KIF是另一个众所周知的iOS应用测试的UI自动化工具。KIF代表“Keep It Functional”,也称为UI Automation ++。它由第三方供应商提供。它是一个开源的iOS自动化测试工具,测试人员可以像Apple的UI Automation一样编写自动化测试脚本。测试人员可以通过定义访问级别简单地点击App来模拟用户。它允许定义一个应用,允许访问可能通过音频消息或其他方式访问应用的人员。
在定义被测应用的访问级别方面,KIF以与UI Automation非常相似的方式运行。但KIF比UI Automation更具优势,它支持Objective-C语言编写测试脚本,而在使用Objective-C和JavaScript之间切换编程语言时,使用KIF的学习曲线非常小。
我们可以使用执行单元测试的相同类型的目标执行KIF测试,但是在UI Automation下,我们必须依赖于另一工具Instruments(即profiler工具)。使用KIF,基于GUI的测试执行速度比UI Automation快得多。
OCmock- iOS测试工具
它是一个非常好的模拟对象框架,它可以帮助我们创建测试中的实用程序的存根和模拟对象,如远程API(应用程序编程接口),Web服务等。这个工具很容易在单元测试的帮助下大量用于测试无法实例化的UI对象。
下载:OCmock
FBSnapshotTestCase - iOS测试工具
它是Facebook提供的自动化工具,可帮助我们通过将视觉效果与现有保存的屏幕截图进行比较来验证UI代码。差异比较比设备的完整屏幕截图更精细。它允许选择一个小的UI视图以及一小段文本到复杂的图像,以与保存的屏幕截图进行比较。可以从UI视图子类中分离快照测试用例。
FRANK - 适用于iOS测试自动化的BDD
如果你的测试要求涉及iOS应用的端到端测试,并且你想要使用Cucumber和BDD(行为驱动开发),那么FRANK是iOS测试自动化最佳工具。该工具允许我们通过Cucumber创建验收测试以及要素作为特征文件。FRANK测试自动化工具提供了对IOS应用执行BDD测试用例的能力,因为它可以作为将iOS应用连接到cucumber framework的适配器。Cucumber可以轻松地与Frank工具集成,并有助于自动化测试场景以竞争BDD要求。
下载:FRANK