iOS 测试 [Google EarlGrey] 0x01 第一个测试用例

hillchan31 · 2016年02月23日 · 最后由 梦梦GO 回复于 2017年04月13日 · 1578 次阅读

Google EarlGrey 学习笔记:
[Google EarlGrey] 0x00 安装及运行
[Google EarlGrey] 0x01 第一个测试用例
[Google EarlGrey] 0x02 API 简介

安装成功 EarlGrey 后,下面来配置并编写第一个测试用例。安装步骤见[Google EarlGrey] 0x00 安装及运行

测试配置

对被测应用安装完成 EarlGrey 支持后,确保 Test Target 设置正确能够启动相应的被测应用。

1 General 标签

  • Host Application 应该被设置成被测应用 general

2 Build Settings 标签

  • Test Host 指向被测应用 Test_Host
  • Bundle Loader 设置成 Test Host 的地址 Bundle_Loader
  • Wrapper Extension 设置成 xctest wrapper_extension

3 添加 copy files
为被测应用的 Test Target 添加 EarlGrey 框架。一般 pod install 之后会自动生成,如果手动添加则点击 Test Target > Build Phases > + > New Copy Files Phase,安装如下方式添加

Destination: `Absolute Path`
Path: `$(TEST_HOST)/..`
Copy files only when installing: Deselect
Name: `Path to EarlGrey.Framework` with `Code Sign on Copy` selected.

显示如下:
Add_Copy_Files

按照上述步骤设置完成后,就可以通过 Xcode 的 Test Navigator 来添加并执行测试用例了。
Test_Navigator

配置并运行第一个测试用例

因为 EarlGrey 是基于 XCTest,通过新建一个 Unit Test Case Class 即可创建测试用例。不要创建 UI Test Case Class。UI Test Case Class 使用了新的 XCTest 特性,目前和 EarlGrey 不兼容。

1 创建 Unit Test Case Class
右键源文件夹,选择 New file...,选择 Unit Test Case Class
Unit_Test

2 输入测试用例名称
选择 Unit Test Case Class 后,点击 Next,输入测试用例名称
Name

3 确保 Targets 为 Test Target
保存文件时,选择之前创建的 Test Target 名称
targets

4 删除无用代码
Xcode 会自动生成测试用例的代码,删除不需要使用的代码。使代码保留一个测试方法并且包含了 EarlGrey 框架即可

@import EarlGrey;
#import <XCTest/XCTest.h>
@interface MyFirstEarlGaryTest : XCTestCase
@end

@implementation MyFirstEarlGaryTest

- (void)testExample {
    // Use XCTAssert and related functions to verify your tests produce the correct results.
}

@end

5 编写断言
编写一个简单的断言,判断 key window(key window 用来接收键盘以及非触摸类的消息,程序中只能有一个 keyWindows) 是否显示,代码如下

@import EarlGrey;
#import <XCTest/XCTest.h>
@interface MyFirstEarlGaryTest : XCTestCase
@end

@implementation MyFirstEarlGaryTest

- (void)testPresenceOfKeyWindow {
    [[EarlGrey selectElementWithMatcher:grey_keyWindow()] assertWithMatcher:grey_sufficientlyVisible()];

}

@end

6 执行测试用例
编写完成后,执行测试用例。测试用例会在 Test Navigator 中显示,可以右键选中单个测试用例进行执行。跟一般的单元测试一致。你可以在你的测试代码或者应用代码中设置断点。
执行测试用例
执行过程
执行过程
执行结果
执行结果

参考资料

EarlGrey 安装运行
Key Window

共收到 5 条回复 时间 点赞

看到最后这个拉进度条的小游戏好亲切,一开始学 O-C 都写这个吧,哈哈。

赞!
写得很详细。

中间有遇到什么坑吗?

#1 楼 @t880216t 教程还是挺经典的 哈哈

#2 楼 @chenhengjie123 因为只是简单的安装和运行一个用例,EarlGrey 本身没有遇到,之后继续看看有没有

hillchan31 [Google EarlGrey] 0x00 安装及运行 中提及了此贴 04月13日 14:32

我想默默问一句 只有我一个人这里有问题吗
这个包不能导入啊

hillchan31 [Google EarlGrey] 0x02 API 简介 中提及了此贴 04月14日 15:38
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册