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

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

测试配置

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

1 General 标签

2 Build Settings 标签

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


↙↙↙阅读原文可查看相关链接,并与作者交流