Google EarlGrey学习笔记:
[Google EarlGrey] 0x00 安装及运行
[Google EarlGrey] 0x01 第一个测试用例
[Google EarlGrey] 0x02 API简介
安装成功EarlGrey后,下面来配置并编写第一个测试用例。安装步骤见[Google EarlGrey] 0x00 安装及运行
测试配置
对被测应用安装完成EarlGrey支持后,确保Test Target设置正确能够启动相应的被测应用。
1 General标签
* Host Application应该被设置成被测应用
2 Build Settings标签
* Test Host指向被测应用
* Bundle Loader设置成Test Host的地址
* Wrapper Extension 设置成xctest
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.
显示如下:
按照上述步骤设置完成后,就可以通过Xcode的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
2 输入测试用例名称
选择Unit Test Case Class后,点击Next,输入测试用例名称
3 确保Targets为Test Target
保存文件时,选择之前创建的Test Target名称
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中显示,可以右键选中单个测试用例进行执行。跟一般的单元测试一致。你可以在你的测试代码或者应用代码中设置断点。
执行过程
执行结果