基于 KIF 的 iOS UI 自动化测试和持续集成(4)

发表于:2017-03-10来源:美团点评技术团队作者:美团点评技术团队点击数: 标签:iOSKIF
(2)用例常用操作接口: UI交互操作( KIFUITestActor.h 中可查阅): tapThisView: - (void)tapViewWithAccessibilityLabel:(NSString *)label; waitForView: - (UIView *)waitForViewWithAcces
(2)用例常用操作接口:
  • UI交互操作( KIFUITestActor.h 中可查阅):
    tapThisView:                - (void)tapViewWithAccessibilityLabel:(NSString *)label;
    waitForView:                - (UIView *)waitForViewWithAccessibilityLabel:(NSString *)label;
        注意:函数返回了对应View的指针,可以对返回值取数据,从而进行一些判断
    enterTextIntoView:          - (void)enterText:(NSString *)text intoViewWithAccessibilityLabel:(NSString *)label;
    tapRowOnTableView:          - (void)tapRowAtIndexPath:(NSIndexPath *)indexPath inTableViewWithAccessibilityIdentifier:(NSString *)identifier NS_AVAILABLE_IOS(5_0); 
    dismisses a system alert:   - (void)acknowledgeSystemAlert;

扩展:我们还可以对 KIFUITestActor 类进行扩展,利用 KIFUITestActor 中的私有函数,使 AccessibilityIdentifier 代替 Label 识别元素,完成 tapThisView 、waitForView 等操作。

  • 用例集操作( KIFTestCase.h 中可查阅):
    - (void)beforeAll; 在本类中第一个 test case执行前执行一次
        用处:执行本类中各个测试函数的公共操作
        注意:因为不能保证这个方法与 test case 是同一个类实例,所以不能用来设置实例变量的值,但是可以设置静态变量 
    - (void)beforeEach; 在每一个 test case 执行前执行一次
        用处:执行各个函数需要的测试环境
        注意:因为确保这个方法与 test case 是同一个类实例,所以可以用来设置实例变量
    - (void)afterEach; 在每一个 test case执行后执行一次
        用处:用来将 App 恢复至 test case 之前的状态,可以包含一些条件判断逻辑,从失败的 test case 中恢复,以确保不影响之后的测试
    - (void)afterAll; 执行完测试类的最后一个 test case 后执行一次
        用处:用于将 App 恢复至测试的初始状态
  • 系统的功能实现( KIFSystemTestActor.h 中可查阅):

    原文转自:https://zhuanlan.zhihu.com/p/22283843