在Xcode UITest中访问app.button,而无需任何可用的文本进行引用。

men*_*uez 2 xcode webpage-screenshot ios xcode-ui-testing fastlane

因此,我试图开始fastlane screenshot工作,这意味着使Xcode UITest工作。。。我构建了一个使用3栏符号作为滑出按钮的Ionic应用程序,而这种情况对于webapps来说是微不足道的。

但是,当我使用uITest记录时,它会误解按钮并最终表示为

app.buttons["?"].tap()

当它尝试运行保存的UI命令时,显然会因此而窒息并使测试崩溃……除了使用诸如此类的标签文本之外,还有其他方法可以表示按钮吗?

看来它可以使用ID或NAME作为按钮标识符,但是我还没有找到解决此问题的方法。

Aar*_*aer 5

您可以为按钮提供一个AccessibilityIdentifier,它是仅可由UI测试读取的属性,并且不需要任何可读的文本。

您还可以为按钮提供一个AccessibilityLabel,这将使您的按钮可供正在使用辅助功能的人员(例如屏幕阅读器或其他此类设备)使用。

XCUIElementQuery可以读取这两个属性,这意味着您可以使用app.buttons["slide_out"].tap()

为此,您可以在代码(button.accessibilityIdentifier = "slide_out"例如)或情节提要(在属性下;请参见屏幕截图)中显式设置accessibilityIdentifier / accessibilityLabel 。

这是有问题的故事板区域

另一方面,如果由于需要等待元素出现而导致计时问题,我建议Joe Masilotti的博客文章有关XCUITest中的自定义助手:http ://masilotti.com/xctest-helpers/