iOS自动化UI测试——KIF使用小样
来源:互联网 发布:外汇模拟软件 编辑:程序博客网 时间:2024/05/18 03:09
KIF的神奇之处在于,它允许您从单元测试中驱动您的UI,并获得在测试过程中的所有优势。
代表Keep It功能的KIF是一个iOS集成测试框架。它可以通过利用操作系统为视觉障碍者提供的辅助功能属性轻松自动化iOS应用程序。
KIF使用标准XCTest
测试目标构建并执行测试。测试在主线程中同步进行(运行运行循环以强制时间的流逝),从而允许更复杂的逻辑和组合。这也允许KIF利用Xcode Test Navigator,命令行构建工具和Bot测试报告。
KIF使用无证件的Apple API。大多数iOS测试框架都是如此,并且对于测试目的而言是安全的,但重要的是KIF不会将其转化为生产代码,因为它会让您的应用程序提交被Apple拒绝
特征
最小化间接
KIF的所有测试都写在Objective-C中。这允许与代码最大化集成,同时最小化您必须构建的层数。
轻松配置
KIF直接集成到您的Xcode项目中,因此无需运行其他Web服务器或安装任何其他软件包。
宽操作系统覆盖
KIF的测试套件已经针对iOS 8.1及以上版本运行,但较低版本可能会运行。
像用户一样测试
KIF试图模仿实际的用户输入。尽可能使用tap事件完成自动化。
自动集成Xcode测试工具
您可以轻松地使用Test Navigator进行单个KIF测试,或者使用Bots开始每晚的验收测试。
安装(与CocoaPods)
CocoaPods是使用KIF设置的最简单的方法。
您将要做的第一件事是设置您将用于KIF的测试目标。如果您选择自动创建单元测试,您可能已经有一个名为MyApplication_Tests的命令。如果你这样做,你可以继续使用它,如果你不使用它进行单元测试。否则,请按照以下说明创建新的。
在Xcode中选择您的项目,然后点击编辑器左下角的“添加目标”。选择iOS - >测试 - > iOS单元测试包。给它一个产品名称,如“验收测试”,“UI测试”,或表明您的测试过程的意图。
测试目标将添加一个标题和实现文件,可能“Acceptance_Tests.m / h”来匹配您的目标名称。删除那些。
设置测试目标后,将以下内容添加到您的Podfile文件中。根据需要使用您的目标名称。
终端 进入目录
target 'ettAiXuePaiNextGen' do
pod ...
end
target 'ettAiXuePaiNextGenTests' do
pod 'KIF', '~> 3.0', :configurations => ['Debug']
end
设计实现单个测试用例步骤如下:
- a. 设置测试所需要的环境;
- b. 测试用例的测试逻辑;
- c. 恢复App至此次测试前状态。
2.建立测试文件
3.在大多数测试中测试者的行动已经由KIF框架中定义的,但
-navigateToLoginPage
并-returnToLoggedOutHomeScreen
没有。这些是您的应用程序特有的自定义操作的示例。添加这样的步骤很容易,并且使用KIFUITestActor
类似于我们添加方案的类别的工厂方法来完成。@interface KIFUITestActor (EXAdditions)
- (void)navigateToLoginPage;
- (void)returnToLoggedOutHomeScreen;
@end
#import "KIFUITestActor+EXAdditions.h"
@implementation KIFUITestActor (EXAdditions)
- (void)navigateToLoginPage
{
//首先清理内容
[self enterText:@"" intoViewWithAccessibilityLabel:@"userNameTextField"];
[self enterText:@"" intoViewWithAccessibilityLabel:@"passwordTextField"];
//点击记住
[self tapViewWithAccessibilityLabel:@"remberUserButton"];
}
- (void)returnToLoggedOutHomeScreen
{
//点击一个元素
[self tapViewWithAccessibilityLabel:@"remberUserButton"];
[self tapViewWithAccessibilityLabel:@"loginButtonView"];
}
@end
测试视频:https://pan.baidu.com/s/1c11LHc8
https://github.com/kif-framework/KIF
https://zhuanlan.zhihu.com/p/22283843
- iOS自动化UI测试——KIF使用小样
- iOS 中使用 KIF 测试 UI
- iOS 中使用 KIF 测试 UI
- iOS 中使用 KIF 测试 UI
- 自动化测试框架: KIF和EarlGrey对比
- iOS UI自动化测试
- Ios 中的UI自动化测试
- iOS开发教程:iOS UI自动化测试
- iOS自动化测试之UI自动化测试学习笔记
- iOS自动化测试之UI自动化测试大纲
- 【腾讯TMQ】解放程序猿(媛)的双手—iOS UI自动化测试
- 解放程序猿(媛)的双手—iOS UI自动化测试
- 解放程序猿(媛)的双手—iOS UI自动化测试
- IOS 自动化 2-UI Automation-功能测试
- iOS UI自动化测试与代码覆盖率
- iOS UI Test 自动化测试开发
- KIF框架在IOS输入法测试中的应用
- iOS自动化测试之UI自动化框架调研
- 计算机二进制原码、反码、补码
- Java数组,去掉重复值、增加、删除数组元素
- "零基础学python"之神奇的python同步赋值及动态特性
- 使用Python进行文本分类
- 信息安全的基础:对称加密、非对称加密、摘要算法
- iOS自动化UI测试——KIF使用小样
- CorelDRAW 导航制作起来让网站更加醒目好看
- 关闭wi8.1系统安全软件
- Linux 习题3
- flume架构图
- JDBC连接和DBUtils的使用详解
- Java算法——判断一个数是否是回文数
- 51nod 1586 约数和
- 【数据结构】顺序存储——定义