在没有accessiblity id的Xcode UI Test中定位元素

时间:2016-11-08 14:48:11

标签: swift xcode xctest ios-ui-automation

最近,我开始学习XCode UI Test,使用Xcode的UI测试功能编写功能自动化测试。

我需要读取原生app元素的文本值。我可以在元素文本的帮助下获取元素,但问题是我不能使用文本,因为它是动态的,它将在一段时间后或下次启动应用程序后更改。

我熟悉使用WebDriver和Appium,我可以通过编写父子xpath来解决这个问题。

有人能建议解决这个问题吗?请发布示例代码片段以及您的解决方案,因为我是apple technology / swift的新手。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

在您的应用程序代码中,向您要检查的元素添加辅助功能标识符,然后使用该标识符在UI测试代码中查找元素。

// app code
let myLabel = UILabel()
myLabel.accessibilityIdentifier = "myDescriptionLabel"
// add other label configuration...

// UI test code
let app = XCUIApplication()
let descriptionLabel = app.staticTexts["myDescriptionLabel"]
let description = descriptionLabel.value as String