0

我正在做一些使用 EN(开发语言)的 UI 测试。但在使用其他语言进行测试时并非如此。例如,可以点击 SearchBar 中的取消按钮

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

但在西班牙语中,“取消”实际上是“取消”,因此当以西班牙语运行时,测试无法找到按钮。

一种方法是按索引查找按钮,但这很危险,因为如果 Apple 将按钮移动到不同的索引,它可能会损坏。

app.buttons.element(boundBy: indexOfCancelButton).tap()

有没有更简单、更可靠的方法来处理这个问题?

谢谢!

4

1 回答 1

0

acceessibilityIdentifier在 UI 测试中要与之交互的视图上设置一个。

可访问性标识符是未本地化的,因此在您更改运行测试的设备的语言时不会更改。

可访问性标识符以任何方式对最终用户都是不可见的,并且仅用于 UI 测试。

// app code
let button: UIButton!
button.accessibilityIdentifier = "cancelButton"

// test code
let app = XCUIApplication()
let cancelButton = app.buttons["cancelButton"]
cancelButton.tap()
于 2018-03-17T08:16:04.227 回答