使用 Xcode UI 自动化框架进行 iOS 自动化测试

使用 Xcode 进行 iOS 自动化测试

为保证 iOS 应用程序的质量,您应遵循下图所示的测试驱动开发流程。

iOS Automation Testing Using Xcode

测试驱动开发 (TDD) 是一种应用于 iOS 应用程序测试的测试模型。在此模型中,测试人员必须遵循以下 4 个阶段:

  • 设计:确定要测试的内容,设计测试用例
  • 测试:运行所有测试,查看测试用例是否失败
  • 实施:修改代码,修复导致测试失败的错误
  • 再次测试:如果失败,则回滚到设计阶段。如果所有测试用例都通过,则代码满足所有测试要求。

为 UI 测试设置 Xcode 项目

要创建 iOS 测试程序,您需要一台 Mac Book。您的 Mac 已经安装了

  • OS X。Mac PC 的操作系统
  • Xcode IDE,iOS 开发工具
  • 自动化测试框架(UI Automation, OCUnit..)
  • iOS SDK 4(或更高版本)

如何使用 UI Automation 框架创建 iOS 自动化

步骤 1) 启动 Instruments

打开 XCode -> 打开开发者工具 -> Instrument

Create iOS Automation Using UI Automation Framework

步骤 2) 添加自动化工具

Instruments 窗口中,选择 Automation Instrument

Create iOS Automation Using UI Automation Framework

要创建测试脚本,您可以录制测试场景,或者手动编写

步骤 3) 按下红色按钮
Instrument 正在启动,并立即停止录制。如果您想开始录制,请按红色按钮

Create iOS Automation Using UI Automation Framework

步骤 4) 创建新脚本
在“脚本”窗口中,单击 添加 > 创建 以创建新脚本

Create iOS Automation Using UI Automation Framework

步骤 5) 选择目标
您在“跟踪”窗口中,使用“选择目标”下拉菜单导航到您的应用程序的调试版本。

Create iOS Automation Using UI Automation Framework

在这种情况下,我将使用 Apple 的示例 SimpleDrillDown 简单应用程序作为被测应用程序。它具有以下 GUI。

Create iOS Automation Using UI Automation Framework

步骤 6) 开始录制脚本
点击工具顶部或底部的录制按钮,录制您的脚本。

Create iOS Automation Using UI Automation Framework

现在您可以在被测应用程序上执行一些 UI 操作,您的脚本将被录制下来。

步骤 7) 查看您的脚本
要查看您的脚本,点击 跟踪日志/编辑器日志 下拉菜单,并切换到脚本日志视图。

Create iOS Automation Using UI Automation Framework

您将看到您录制的脚本。

Create iOS Automation Using UI Automation Framework

步骤 8) 播放您的脚本
按下播放按钮,脚本将运行,您可以在日志出现后停止它。

Create iOS Automation Using UI Automation Framework

如何使用 OCUnit 框架创建 iOS 自动化

步骤 1) 启动 Xcode IDE,添加 单元测试包 目标

Create iOS Automation Using OCUnit Framework

步骤 2) 按照上图填写新单元测试包的名称,然后点击 完成

步骤 3) 激活单元测试目标

Create iOS Automation Using OCUnit Framework

步骤 4) 为测试类添加一个组

Create iOS Automation Using OCUnit Framework

步骤 5) 添加一个单元测试类

Create iOS Automation Using OCUnit Framework

步骤 6) 现在开始您的实现

Create iOS Automation Using OCUnit Framework

OCUnit 使用 Objective-C 语言创建测试程序。开发人员必须了解这种语言。

UI Automation 示例代码

本文包含一些源代码示例。它们有助于您更清晰、快速地理解本教程。

UI AutomationSample UI Automation 演示的测试脚本。