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第三方自动化框架KIF的使用相关推荐

  1. 常用的iOS第三方框架

    转载自:https://github.com/Tim9Liu9/TimLiu-iOS 目录 UI 下拉刷新 模糊效果 AutoLayout 富文本 图表 表相关与Tabbar 隐藏与显示 HUD与To ...

  2. iOS开发 常用第三方开源框架

    iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角) 2015-04-05 15:25 2482人阅读 评论(1) 收藏 举报 开源框架 图像: 1.图片浏览控件MWPhotoBrowse ...

  3. 关于第三方IOS的checkBox框架的使用

    关于第三方IOS的checkBox框架的使用 这个框架是从github上下载获取的:M13Checkbox. 只是github的源码项目工程比较久远,所以我把代码部分拷贝到XCode 7.1.0新建的 ...

  4. iOS常用第三方开源框架和优秀开发者博客等

    博客收藏iOS开发过程好的开源框架.开源项目.Xcode工具插件.Mac软件.文章等,会不断更新维护,希望对你们有帮助.如果有推荐或者建议,请到此处提交推荐或者联系我. 该文档已提交GitHub,点击 ...

  5. 开源工具 | 手游自动化框架GAutomator,新增iOS系统和UE4引擎支

    WeTest 导读 GAutomator是腾讯WeTest推出的手游自动化测试框架,已用于腾讯多个手游项目组的自动化测试. 1.GAutomator诞生背后 研究过手游自动化测试的同学都知道,虽然市场 ...

  6. iOS开发常用第三方开源框架

    iOS开发-常用第三方开源框架倾情整理!简书:https://www.jianshu.com/p/29cb22b13d79 iOS第三方库大全:https://blog.csdn.net/kanggu ...

  7. IOS第三方框架集合

    简   注册 登录  添加关注 作者 xuejunjun 2015.06.06 17:39* 写了14057字,被17人关注,获得了116个喜欢 IOS第三方框架集合 字数6100 阅读17132 评 ...

  8. Android自动化框架对比

    简介 移动APP的UI自动化测试长久以来一直是一个难点,难点在于UI的"变", 变化导致自动化用例的大量维护.从分层测试的角度,自动化测试应该逐层进行.最大量实现自动化测试的应该是 ...

  9. 结合正则 抓取的iOS 第三方

    +++++抓取方法在后面+++++ 第三方 用途 EGOTableViewPullRefresh 最早的下拉刷新控件. SVPullToRefresh 下拉刷新控件. XHRefreshControl ...

最新文章

  1. Postfix邮件服务搭建
  2. Hive中文注释乱码解决方案
  3. 下c语言按q退出_Linux vim编辑器怎么退出?第一次用都会问的问题
  4. 使用微软分布式缓存服务Velocity Part 3
  5. 谈谈 Java 的克隆
  6. ajax中tooltip,工具提示插件——tooltip
  7. ArcEngine二次开发API之Bug集(一 )
  8. Python+pandas处理Excel文件中的超市营业额数据
  9. Out of resources when opening file './xxx.MYD' (Errcode: 24)解决方法
  10. 大数据分析四大分析要素
  11. http client
  12. MYSQL 高效索引策略(完成)
  13. 容器技术Docker K8s 18 容器服务ACK基础与进阶-容器网络管理
  14. OFDM CP和子载波间隔的取值原则
  15. 基本共射放大电路的工作原理
  16. 微信小程序--云开发静态网站h5跳小程序
  17. 服务器硬盘坏道修复教程视频,坏道和坏块什么区别?硬盘高级修复教程来了
  18. 计算机打字练习程序,一个简单的打字练习程序
  19. 1 10000用计算机计算,2019新个税计算器 工资一万要交多少税
  20. 如何设置最美的win11桌面(附隐藏任务栏方法)

热门文章

  1. 【ARMv8基础篇】400系列控制器IP
  2. java JDK1.8 API文档免费下载(中英文版)
  3. 我在云南躺平,这里来了就不想走
  4. 五金机电行业经销商协同管理系统解决方案
  5. 有一段时间没有码字了
  6. MTK哪些芯片支援VoLTE Feature
  7. web开发日语词汇(一)
  8. 【SEUSE】软件测试及应用课程笔记
  9. 自行车运动模型及其线性化
  10. 《财报就像一本故事书》刘顺仁(二) ——财务报表