ios - 在 Xcode UITest 中访问 app.buttons 而无需任何可用的文本供引用。

标签 ios xcode xcode-ui-testing webpage-screenshot fastlane

所以我正在尝试让 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。

Here is the Storyboard area in question

另一方面,如果因为您需要等待元素出现而出现时间问题,我推荐 Joe Masilotti 关于 XCUITest 中自定义助手的博文:http://masilotti.com/xctest-helpers/

关于ios - 在 Xcode UITest 中访问 app.buttons 而无需任何可用的文本供引用。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39646998/

相关文章:

iphone - iPhone 客户端-服务器应用程序中的请求和响应队列

ios - 在 NSMutableArray 中过滤

objective-c - 使用 RGB 值改变 Xcode 标签文本颜色

xcode - 如何在xcode中引用kmm共享库

ios - 如何将用delphi berlin制作的iOS应用程序部署到App store?

iOS 用户界面测试 : How to get a list of element

ios - _XCTFailInCurrentTest 只应在测试运行时调用

ios - UI测试直接访问特定屏幕: iOS

ios - 通过 iOS 应用程序将图像上传到 Salesforce

ios - 将触摸传递给另一个 View Controller (iOS)