我正在使用 KIF Framework用于功能性 UI 测试。假设我在当前的 iPad 屏幕上,其中许多 View (标签、按钮、文本字段等)都分配了唯一的辅助功能标签。如果手边有 accessibilityLabel
字符串,我可以使用它从当前屏幕获取对关联的 UIView
的引用吗?
例如,[[UIView alloc] viewWithTag:5]
返回提供的 tag
的 UIVIew
。我正在寻找类似 [[UIView alloc] viewWithAccessiblityLabel:@"my label"]
的内容。
P.S:我知道蛮力方法是递归地迭代 self.subviews 中的所有 View ,并比较可访问性标签以找到我要搜索的内容。我正在寻找更好的方法。
最佳答案
在使用 KIF 进行 UI 自动化时,实际上有一种非常简单的方法可以实现您所描述的内容,尽管 KIF 并未明确表明这是可能的。 waitForViewWithAccessibilityLabel
在找到 View 时返回对 View 的引用:
swift
let view = tester().waitForView(WithAccessibilityLabel: "My label")
objective-C
UIView *view = [tester waitForViewWithAccessibilityLabel:@"My label"];
非常有用,一旦被发现。
关于ios - 从 accessibilityLabel 获取 UIVIew 用于 KIF 自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16485832/