【发布时间】:2017-06-04 16:15:36
【问题描述】:
我的用户界面中有一些按钮只显示图像而没有标题。在 UI 测试期间如何访问它们? window.buttons["delete"].click() 由于缺少标题而找不到按钮。而且我无法设置标题,因为图像具有一定的透明度。
【问题讨论】:
我的用户界面中有一些按钮只显示图像而没有标题。在 UI 测试期间如何访问它们? window.buttons["delete"].click() 由于缺少标题而找不到按钮。而且我无法设置标题,因为图像具有一定的透明度。
【问题讨论】:
您应该设置一个accessibilityIdentifier。这是一个非面向用户的属性,旨在允许您识别 UI 测试中的元素。引入它是为了阻止人们滥用accessibilityLabel,人们以前会在测试中使用它来识别事物,但这会影响 Voiceover 用户的体验,他们在选择元素时会听到 accessibilityLabel 的内容。
// app code
let myButton: UIButton!
myButton.accessibilityIdentifier = "deleteButton"
// test code
let app = XCUIApplication()
let deleteButton = app.buttons["deleteButton"]
【讨论】:
您可以通过accessibilityLabel 找到按钮。所以,首先设置标签:
deleteButton.setAccessibilityLabel("delete")
然后您可以正常访问它:
untitledWindow.buttons["delete"].click()
【讨论】: