KIF:有没有办法在当前屏幕上获取所有辅助功能标签?

时间:2015-06-05 17:03:48

标签: kif kif-framework

我正在使用KIF测试iOS应用,我想知道是否有办法在当前屏幕中获取所有辅助功能标签。我想得到一个字符串数组,其中每个元素都是此屏幕的可访问性标签。

1 个答案:

答案 0 :(得分:3)

此函数可以在视图中返回所有accessibilityLabel:

func getAllAccessibilityLabel(_ viewRoot: UIView) -> [String]! {

    var array = [String]()
    for view in viewRoot.subviews {
        if let lbl = view.accessibilityLabel {
            array += [lbl]
        }

        array += getAllAccessibilityLabel(view)
    }

    return array
}

func getAllAccessibilityLabelInWindows() -> [String]! {
    var labelArray = [String]()
    for  window in UIApplication.shared.windows {
        labelArray += self.getAllAccessibilityLabel(window)
    }

    return labelArray
}

并在KIF测试中调用它:

let labelArray = getAllAccessibilityLabelInWindows()
print("labelArray = \(labelArray)")