在 Xcode UITest 中访问 app.buttons,但没有任何可用的文本供参考。
Access app.buttons in Xcode UITest without having any usable text for referencing.
所以我正在尝试让 fastlane screenshot
工作,这意味着让 Xcode UI 测试工作...我构建了一个 Ionic 应用程序,它使用 3 条符号作为滑出按钮和类似的东西对于 webapps 来说是微不足道的。
但是,当我使用 uITest 记录时,它会误解按钮并最终像这样表示
app.buttons[""].tap()
当它尝试 运行 已保存的 UI 命令时,它显然会因此而窒息并使测试崩溃...除了使用其标签文本之外,还有其他方法可以表示按钮吗像那样?
它似乎可以使用 ID 或 NAME 作为按钮标识符,但我还没有在任何地方找到解决这个问题的方法。
您可以为按钮提供一个 AccessibilityIdentifier,它是一个 属性,只会被 UI 测试读取,并且不需要任何可读文本。
您还可以为按钮提供一个 AccessibilityLabel,这将使使用辅助功能的人能够使用您的按钮,例如屏幕阅读器或其他此类设备。
XCUIElementQuery 可以读取这两个属性,这意味着您将能够使用 app.buttons["slide_out"].tap()
.
为此,您可以在代码(例如 button.accessibilityIdentifier = "slide_out"
)或故事板(在属性下;参见屏幕截图)中显式设置 accessibilityIdentifier / accessibilityLabel。
另一方面,如果因为您需要等待元素出现而出现时间问题,我推荐 Joe Masilotti 的博客post 关于 XC 中的自定义助手UI测试:http://masilotti.com/xctest-helpers/
蒂普:
以防万一,有人试图从 IONIC 应用程序中访问按钮,却不知道如何在 IONIC .html 和 .ts 文件中编写 'accessibilityIdentifier' 代码...
按钮元素中的
aria-label="myLabel"
可以解决问题; id, name 等等不要.
所以我正在尝试让 fastlane screenshot
工作,这意味着让 Xcode UI 测试工作...我构建了一个 Ionic 应用程序,它使用 3 条符号作为滑出按钮和类似的东西对于 webapps 来说是微不足道的。
但是,当我使用 uITest 记录时,它会误解按钮并最终像这样表示
app.buttons[""].tap()
当它尝试 运行 已保存的 UI 命令时,它显然会因此而窒息并使测试崩溃...除了使用其标签文本之外,还有其他方法可以表示按钮吗像那样?
它似乎可以使用 ID 或 NAME 作为按钮标识符,但我还没有在任何地方找到解决这个问题的方法。
您可以为按钮提供一个 AccessibilityIdentifier,它是一个 属性,只会被 UI 测试读取,并且不需要任何可读文本。
您还可以为按钮提供一个 AccessibilityLabel,这将使使用辅助功能的人能够使用您的按钮,例如屏幕阅读器或其他此类设备。
XCUIElementQuery 可以读取这两个属性,这意味着您将能够使用 app.buttons["slide_out"].tap()
.
为此,您可以在代码(例如 button.accessibilityIdentifier = "slide_out"
)或故事板(在属性下;参见屏幕截图)中显式设置 accessibilityIdentifier / accessibilityLabel。
另一方面,如果因为您需要等待元素出现而出现时间问题,我推荐 Joe Masilotti 的博客post 关于 XC 中的自定义助手UI测试:http://masilotti.com/xctest-helpers/
蒂普: 以防万一,有人试图从 IONIC 应用程序中访问按钮,却不知道如何在 IONIC .html 和 .ts 文件中编写 'accessibilityIdentifier' 代码... 按钮元素中的
aria-label="myLabel"可以解决问题; id, name 等等不要.