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

发表于:2017-03-10来源:美团点评技术团队作者:美团点评技术团队点击数: 标签:iOSKIF
KIF 为我们提供了对有 accessibility 属性控件的操作接口,如下最简单的两个操作接口: 点击一个元素:- (void)tapViewWithAccessibilityLabel:(NSString *)label; 等待一

KIF 为我们提供了对有 accessibility 属性控件的操作接口,如下最简单的两个操作接口:

  • 点击一个元素:- (void)tapViewWithAccessibilityLabel:(NSString *)label;
  • 等待一个元素的出现:- (UIView *)waitForViewWithAccessibilityLabel:(NSString *)label。

在新建的 Target 同名目录下增加一个继承自 KIFTestCase 的类,类中编写我们的用例,完成对界面的点击和验证,如下:

以上步骤都完成后, 基于KIF的简单用例便搭建完成,点击 Product->Test 或者快捷键 (?U) 即可看到我们的用例自动运行起来了。

2. 用例编写与组织

(1)accessibility 属性设置

accessibility 属性是 Apple 给视觉障碍人群提供完全无障碍使用的基本属性,该属性表明了 UI 元素的可访问性、是什么、做什么以及会触发什么样的操作。原生的 UIKit 控件默认提供了这些信息,然而,自定义的控件则需要对该属性进行设置,设置方式可参考下面几点:

  • 设置方式:找到页面元素所属的代码文件,再到代码中找到该类的实现,在相应代码处添加其属性。
  • 查看方式:设置好后,开启模拟器的 Accessibility Inspector 功能,即可看到控件的 accessibility 属性。
  • 设置建议:设置的 AccessibilityLabel 属性值要有实际意义(用户可理解),因为设置这个属性后用户可以通过 VoiceOver 访问;用户不可访问的控件,比如某些放置控件的容器等应该设置为 AccessibilityIdentifier 。

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