1、EarlGrey是个原生iOS UI自动化测试框架,可以帮助你编写出更加清晰、简明的测试。
2、借助于EarlGrey框架,你可以使用增强的同步特性。
3、EarlGrey会自动与UI、网络请求及各种查询保持同步,同时在必要的情况下,你还可以手工实现自定义的定时器。
4、EarlGrey的同步特性可以确保在执行动作前,UI会处于一种稳定的状态。这极大地增强了测试稳定性,使得测试变得高度可重复。
5、EarlGrey与XCTest框架协同工作,并且集成到了Xcode的Test Navigator中,这样你就可以直接在Xcode中或是在命令行中(使用xcodebuild)运行测试了。
6、适配环境 < (更新macOS Sierra + Xcode 8.1 + iOS 10.0.2:无法使用)
集成EarlGrey:Cocoapods集成
git地址:
https://github.com/google/EarlGrey
1、建立target -> iOS Unit Testing Bundle
2、Manager Schemes:shared
3、安装pod前:sudo gem install earlgrey
pod install
PROJECT_NAME = '你的工程名'
TEST_TARGET = '测试Target名'
SCHEME_FILE = '测试Target名.xcscheme'
target TEST_TARGET do
project PROJECT_NAME
inherit! :search_paths
pod 'EarlGrey'
end
post_install do |installer|
require 'earlgrey'
configure_for_earlgrey(installer, PROJECT_NAME, TEST_TARGET, SCHEME_FILE)
end
4、点击 +-> Add Other…找到绝对路径, 直接添加EarlGrey.framework
5、建立测试文件,注意一定是集成XCTest
@import EarlGrey;
#import <XCTest/XCTest.h>
@interface MyFirstEarlGreyTest:XCTestCase
@end
@implementationMyFirstEarlGreyTest
- (void)testExample{// Your test actions and assertions will go here.}
@end
6、run程序 -> 点击test
备注:issues至今未解决问题:
报错信息:
GREYUIThreadExecutor and EarlGrey in general synchronizes with the UI / main thread i.e.
Thread 1 and the code there is for making sure the main thread doesn't go to sleep.