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.必须联机使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
iOS集成测试框架kif-framework,源码kif-framework,KIF的全称是“Keep It Functional”,是一款iOS集成测试框架,来自square。KIF使用了苹果非公开的API,很多iOS测试框架使用了非公开API,出于测试目的还是安全的,KIF并不使用非公开的API生成代码,所以苹果不会拒绝你的应用。 注意: KIF 2.0并不兼容KIF 1.0,并且使用了不同的测试执行机制。 功能: 1.KIF用Objective C写成,最大化集成代码的同时还可以最小化层级数目。 2.配置简单。KIF可直接集成进你的Xcode项目中,无需运行额外的网络服务器或者安装任何额外的包。 3.OS覆盖范围广泛。KIF的测试套件可以运行iOS 5.1以上系统,甚至更低Testing Framework的版本也能运行。 4.向用户一样进行测试。KIF可以模仿用户的输入,点击事件等。 5.可自动集成Xcode 5测试工具。 KIF iOS Integration Testing Framework KIF, which stands for Keep It Functional, is an iOS integration test framework. It allows for easy automation of iOS apps by leveraging the accessibility attributes that the OS makes available for those with visual disabilities. KIF builds and performs the tests using a standard ocunit testing target. Testing is conducted synchronously in the main thread (running the run loop to force the passage of time) allowing for more complex logic and composition. This also allows KIF to take advantage of the Xcode 5 Test Navigator, command line build tools, and Bot test reports. Find out more about Xcode 5 features. KIF uses undocumented Apple APIs. This is true of most iOS testing frameworks, and is safe for testing purposes, but it is important that KIF does not make it into production code, as it will get your app submission denied by Apple. Follow the instructions below to ensure that KIF is configured correctly for your project. Note: KIF 2.0 is not API compatible with KIF 1.0 and uses a different test execution mechanism. KIF 1.0 can be found in the Releases section or on CocoaPods.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值