我只能在界面构建器中设置辅助功能标签,但在UI自动化中,我需要辅助功能标识符来获取UI元素。 任何方式这样做?
答案 0 :(得分:52)
可以使用Identity Inspector选项卡的“用户定义的运行时属性”在IB中设置accessibilityIndentifier:
关键路径:accessibilityIdentifier
类型:字符串
值:选择accessibilityIdentifier文本
E.g。设置滚动视图以使辅助功能ID'ScrollView':
注意:这只能用于具有accessibilityIdentifier属性的项目,这意味着它们从UIView继承。此外,“密钥路径”中的拼写错误可能会在项目加载时导致异常,我不相信会给出编译警告/错误。
答案 1 :(得分:11)
答案 2 :(得分:5)
根据这个页面
如果未设置accessibilityIdentifier,UIAutomation将使用accessibilityLabel,因此您现在可以使用它。这可能不是最佳实践,因为如果使用VoiceOver,accessibilityLabel对用户是可见的(或者更确切地说是可听),但只要您给出对人类有意义的标签名称就可以了。
希望Apple将来会添加一种在IB中设置accessibilityIdentifier的方法,但是现在你必须在代码中设置它,或者使用其他东西(如view标签)来定位自动化视图。
答案 3 :(得分:1)
accessibilityIdentifier仅适用于IOS 5.0或更高版本....请参阅....
答案 4 :(得分:0)
我想知道,你想测试没有IBOutlet的xib吗?有经验的人可以分享他/她的想法吗?
以下是我对这个问题的看法。 如果您没有将IBOutlet分配给按钮/标签/ texBox,或者这意味着您不会从代码中更改它。控件将是静态的,您可以在“界面”构建器中看到它。 如果将IBOutlet添加到控件,则可以从代码中添加acessibilityIdentifier。