所以我正在尝试让 faSTLane screenshot
工作,这意味着让 Xcode UITest 工作......我构建了一个 Ionic 应用程序,它使用 3 条符号作为滑出按钮和那种对于 webapps 来说,一切都是微不足道的。
但是,当我使用 uITest 记录时,它会误解按钮并最终像这样表示
app.buttons[""].tap()
当它尝试运行保存的 UI 命令时,它显然会因此而窒息并使测试崩溃……除了像这样使用其标签文本之外,还有其他方法来表示按钮吗?
它似乎可以使用 ID 或 NAME 作为按钮标识符,但我还没有在任何地方找到解决这个问题的方法。
最佳答案
您可以为按钮提供一个 AccessibilityIdentifier,这是一个仅由 UI 测试读取的属性,不需要任何可读文本。
您还可以为按钮提供一个 AccessibilityLabel,这将使您的按钮可供使用辅助功能(例如屏幕阅读器或其他此类设备)的人使用。
XCUIElementQuery 可以读取这两个属性,这意味着您将能够使用,例如,app.buttons["slide_out"].tap()
。
为此,您可以在代码(例如 button.accessibilityIdentifier = "slide_out"
)或 Storyboard(在属性下;参见屏幕截图)中显式设置 accessibilityIdentifier/accessibilityLabel。
另一方面,如果因为您需要等待元素出现而出现时间问题,我推荐 Joe Masilotti 关于 XCUITest 中自定义助手的博文:http://masilotti.com/xctest-helpers/
关于ios - 在 Xcode UITest 中访问 app.buttons 而无需任何可用的文本供引用。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39646998/