ios第三方自动化框架KIF的使用

KIF是目前应用最广泛的第三方ios自动化测试框架,它是基于XCTest封装的框架,所以它拥有XCTest的所有功能,但是它没有XCTest的UI测试能力。

KIF使用的是语言是objective-c,封装了很多很好用的接口,例如:
-(void)beforeAll
在所有用例执行前执行一次,负责初始化脚本和加载所有脚本都会用到的公共组件。

-(void)beforeEach
在每个用例执行前执行一次,负责加载每个用例都会用到的组件

  • (void)afterEach

  • 在每个用例执行完成后执行一次,负责清理掉每个脚本执行后加载的组件,保证对下一个脚本的执行没有影响

  • (void)afterAll

  • 在所有用例执行完成后执行一次,负责把app恢复到执行测试之前的状态

例如下面的脚本

(void)beforeEach{
doSomething1;
}

(void) testcase1{
doSomething2;
}

(void)testcase2{
doSomething3;
}

(void)afterEach{
doSomething4;
}

doSomething1和doSomething4会在testcase1和testcase2方法执行前后分别执行一次。

下面来介绍如何快速上手应用KIF来进行自动化测试
1.由于KIF是第三方框架,所以使用它之前需要先集成,从github上下载完成后直接把框架拖到被测应用工程内
2.新建工程 project->new 选择XCUnitTest,命名为KIFTestcase,因为KIF是集成自XCTest而不是XCUITest,所以这里一定要注意,如果选成XCUITest,那之后的每一个脚本都会报错
3.在刚才新建的KIFTestcase类中,开始应用KIF,因为KIF里面有一个对象tester,可以调用KIF内部封装的所有接口,所以我们所有的操作都可交给tester这个对象去执行,所有的事都让它做。
4.KIF封装了很多好用的接口,其中最常用的方法要数tapViewWithAccessbilityLabel,这个方法顾名思义是用来点击指定控件的,使用非常简单,一般可以这样使用:
[tester tapViewWithAccessibilityLabel:label1];
还有一个常用的方法,waitForViewWithAccessibilityLabel :Withduration:,作用是断言,在多次时间后判断某个控件有没有响应,这里默认的时间是10秒,如果10秒钟控件没有响应就会报错

说完了KIF的基本使用,最后来总结一下KIF的优点和缺点,优点:
1.KIF封装了很多好用的方法,可读性非常强,看名字就知道方法的作用
2.封装的XCTest,执行效率高
缺点:
1.不支持脚本录制,只能手写脚本,需要有oc语法基础
2.不像XCTest,属第三方框架,更新不如XCTest及时
3.必须联机使用

你可能感兴趣的:(ios,objective-c,xcode)