51Testing软件测试论坛

标题: iOS 测试 [Google EarlGrey] 0x01 第一个测试用例 [打印本页]

作者: 八戒你干嘛    时间: 2017-8-8 10:17
标题: iOS 测试 [Google EarlGrey] 0x01 第一个测试用例
本帖最后由 八戒你干嘛 于 2017-8-8 10:35 编辑

Google EarlGrey学习笔记:
iOS 测试 [Google EarlGrey] 0x00 安装及运行

安装成功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,安装如下方式添加
  1. Destination: `Absolute Path`
  2. Path: `$(TEST_HOST)/..`
  3. Copy files only when installing: Deselect
  4. 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.}@end5 编写断言
编写一个简单的断言,判断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()];}@end6 执行测试用例
编写完成后,执行测试用例。测试用例会在Test Navigator中显示,可以右键选中单个测试用例进行执行。跟一般的单元测试一致。你可以在你的测试代码或者应用代码中设置断点。



执行过程

执行结果


作者: 乐哈哈yoyo    时间: 2017-8-8 13:26
我想默默问一句 只有我一个人这里有问题吗
这个包不能导入啊[attach]108186[/attach]





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2