EarlGrey 可以使用多个可访问性标签或文本

Posted

技术标签:

【中文标题】EarlGrey 可以使用多个可访问性标签或文本【英文标题】:EarlGrey possibility to work with multiple accessibility labels or text 【发布时间】:2016-03-04 10:46:41 【问题描述】:

我想知道是否有可能在 EarlGrey 中使用类似的东西

[[EarlGrey selectElementWithMatcher:grey_accessibilityLabel(@"Log 在”)] performAction:grey_tap().elementByIndex(0)]

(使用grey_accessibilityLabelgrey_text

在我们的 APP 中经常存在可以找到多个元素的情况,需要解决方案来防止它。

我知道最好使用 Accessibility ID 来避免遇到此类问题,但 APP 目前的状态是它没有任何 ID。

【问题讨论】:

【参考方案1】:

不久前我问了一个类似的问题 -

EarlGrey - How do I check if multiple objects are being shown on the screen

EarlGrey 鼓励使用唯一匹配器来查找元素,因为如果不始终保持顺序,使用 elementByIndex() 可能会导致问题。您还可以编写一个自定义匹配器来执行您需要的检查,如答案中突出显示的那样。

【讨论】:

如果您有多个匹配的元素,但只有一个在屏幕上可见,您可以将匹配器与 gray_sufficientlyVisible() 组合以仅匹配可见元素。

以上是关于EarlGrey 可以使用多个可访问性标签或文本的主要内容,如果未能解决你的问题,请参考以下文章

使用可访问性标识符访问标签文本

可访问性标签 storekit 用户输入

由于 React Native 使用像素或百分比作为单位,我们如何处理大文本输入的可访问性

在不破坏可访问性或 PDF 标签的情况下连接 PDF

更改 UITextField 可访问性描述

允许/阻止标签的可访问性字体大小调整