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

15

我正在尝试在Xcode 7 beta中使用UI测试。我有一个包含两个文本字段的故事板。这两个文本字段都有输出口和不同的还原ID。我录制了测试,但生成的代码非常难以读取,并且无法正常工作:

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

我也尝试了以下方法,会根据占位文本工作?!?

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

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


你在用哪个测试版? - Apophenia Overload
这个问题是针对beta 4的;刚上传到beta 5。 - Dan
1个回答

39

你需要在Storyboard中为那个特定的textField设置可访问标识符。查看下面的图片:

在这里输入图片描述

这样,你可以使用可访问标识符来查询textField,像这样:

let app = XCUIApplication()
app.launch()

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

如果这是一个数组,那么屏幕上会同时出现两个或更多。有没有办法通过它的当前文本找到其中一个? - Ky -
有没有办法通过占位符查找,而不需要使用可访问性标识符? - Daniel Ramos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接