Dan Dan - 6 months ago 59
Swift Question

How to obtain reference to TextField in UI Tests in Xcode 7

I am trying to use UI tests in xcode 7 beta.
I have a storyboard with two text fields. Both text fields have outlets and different Restoration IDs. I recorded the test but generated code is quite unreadable and it doesn't work:

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


I also tried the following and will work based on Placeholder text?!?

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


What is the right way to obtain a reference to a TextField in UI tests?

Answer

You need to set accessibility identifier in storyboard for that particular textField. Check the image below :

enter image description here

So you can query textField using accessibility identifier like this :

let app = XCUIApplication()
app.launch()

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