如何在 Xcode 7 的 UI 测试中获取对 TextField 的引用

Posted

技术标签:

【中文标题】如何在 Xcode 7 的 UI 测试中获取对 TextField 的引用【英文标题】:How to obtain reference to TextField in UI Tests in Xcode 7 【发布时间】:2015-08-04 05:08:17 【问题描述】:

我正在尝试在 Xcode 7 beta 中使用 UI 测试。 我有一个带有两个文本字段的故事板。两个文本字段都有出口和不同的恢复 ID。我记录了测试,但生成的代码非常不可读并且不起作用:

app.otherElements.containingType(.TextField, identifier:"y").childrenMatchingType(.TextField).elementBoundByIndex(0).typeText("hello")

我还尝试了以下方法,并将基于占位符文本工作?!?

app.textFields["PlaceholderText"].typeText("hello")

在 UI 测试中获取对 TextField 的引用的正确方法是什么?

【问题讨论】:

你在哪个测试版上? 这个问题是针对 beta 4 的;刚刚上传到 beta 5。 【参考方案1】:

您需要在情节提要中为该特定文本字段设置可访问性标识符。检查下图:

因此,您可以像这样使用可访问性标识符查询 textField:

let app = XCUIApplication()
app.launch()

let nameTextField = app.textFields["nameTextField"]
nameTextField.tap()
nameTextField.typeText("Hello John")

【讨论】:

如果它在一个数组中,那么屏幕上同时有两个或更多呢?有没有办法通过当前文本找到一个?

以上是关于如何在 Xcode 7 的 UI 测试中获取对 TextField 的引用的主要内容,如果未能解决你的问题,请参考以下文章

如何在现有的 ios 测试项目中启用 xcode 7 UI 测试

如何通过 Xcode 7 中的 UI 测试在 iOS 应用程序中运行代码?

在 UI 测试期间,如何使用 Xcode 7 截取我的 UI 截图?

如何让 Xcode 7 保留来自 UI 测试目标的日志记录输出?

Xcode 7 中的特定 UI 测试

如何使用 Xcode 7 UI 测试检查表格视图中的单元格是不是可见?