zoukankan      html  css  js  c++  java
  • iOS自动化UI测试——KIF使用分享

    Test Like a User!

    • 演示自动化UI测试样例

    演示app,全流程一条线测试下来,注册--登录--实名认证--信用卡认证--添加收款器--刷卡收款

    • 介绍KIF

    KIF的全称是Keep it functional。它是一个建立在XCTest的UI测试框架,通过accessibility来定位具体的控件,来操作UI。

    • 导入KIF

    target 'XXXUnitTests' do

    #    3.5.2

         pod 'KIF', :configurations => ['Debug']

    end

    • 写测试用例和讲解常用方法

    给UI组件的accessibilityLabel属性赋值,例如:self.nameTextF.accessibilityLabel = @"nameTextF";

    新建单元测试类,写测试方法(以test开头)//- (void)testZhuCe

    [tester tapViewWithAccessibilityLabel:@"liJiZhuCeBtn"];

    [tester enterText:@"19902030220" intoViewWithAccessibilityLabel:@"phoneNumField"];

    [tester clearTextFromAndThenEnterText:@"邓超界" intoViewWithAccessibilityLabel:@"jieSuanZhangHuText"];

    [tester waitForTimeInterval:15];// 手动输入验证码

    [tester waitForViewWithAccessibilityLabel:@"dengLuVC"];

    if ([tester tryFindingTappableViewWithAccessibilityLabel:@"jumpButton" error:nil]) {

        [tester tapViewWithAccessibilityLabel:@"jumpButton"];

    }

    [tester enterText:@"0119" intoViewWithAccessibilityLabel:@"carddateField" traits:UIAccessibilityTraitNone expectedResult:@"01/19"];

     

    • Tips

    按钮的title、类的title,可以直接做为访问标签;

    如果UI组件被键盘挡住了,需要先退掉键盘;如果UI组件不在屏幕范围内,不可以访问,但是滚动视图,可以访问,且会出现在可视范围。

    无法访问系统自己的弹窗。例如app想定位用户,不能自动点击允许;但是app自己的弹窗,可以操作的;

    类内部的多个测试方法的测试顺序,是无序的;类与类的测试顺序,是无序的;可以将某个测试类或者测试方法给disable掉;

    • 遇到的坑

    pod 'KIF', :configurations => ['Debug']
    pod 'KIF/IdentifierTests'#此处错误;

    造成Target Support Files和Headers文件夹内文件丢失;

    IdentifierTests不导入也可以正常使用;

    • 参考网址

    http://www.cocoachina.com/ios/20170401/18995.html 

    http://www.oschina.net/translate/ios-ui-testing-with-kif

  • 相关阅读:
    检测登录按钮 ,回车即登录
    [转]程序变量命名推荐规范
    [NET].NET Framework 3.5 SP1 真正的离线安装(转)
    Arthas使用教程[转载]
    Python中Hamcrest断言的使用
    C#中查询不支持中文的解决方法
    如何防止C#的小黑窗关闭
    AWS的EC2 micro instance真是慢啊
    一键分享文字图片到新浪微博,facebook,twitter 还有保存打印等 (使用 iOS6 自带的 social.framework)
    自己写的可以布置多个button在同一行的ActionSheet (iPhone)
  • 原文地址:https://www.cnblogs.com/dengchaojie/p/6814395.html
Copyright © 2011-2022 走看看