如何在 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 截图?