KIF:有没有办法在当前屏幕中获取所有可访问性标签?

标签 kif kif-framework

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

最佳答案

这个函数可以返回 View 中的所有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)")

关于KIF:有没有办法在当前屏幕中获取所有可访问性标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30672074/

相关文章:

ios - 我可以使用 KIF 检查屏幕上是否存在 View 吗?

ios - 如何比较 KIF 3.1.1 中 UI 中的文本和从 Web 服务接收的文本?

ios - 使用 xctool 运行单个 KIWI 规范

swift - 使用 KIF 的简单测试用例失败

ios - Waxsim Xcode 4.4

ios - KIF 可以针对 UIWebView 组件吗?

ios - KIF 3.2.0 Arm64 配置失败

Xcode 6.3.2 运行所有测试,而不仅仅是我选择的测试 (KIF)

ios - 适用于 iOS 的 KIF 框架 : Can it simulate touch-and-hold gesture?

ios - 如何使用 KIF 检查/测试 UISwitch 的值?