2015-08-04 25 views
6

Sto provando a utilizzare i test dell'interfaccia utente in xcode 7 beta. Ho uno storyboard con due campi di testo. Entrambi i campi di testo hanno uscite e diversi ID di ripristino. Ho registrato il test, ma il codice generato è del tutto illeggibile e non funziona:Come ottenere riferimenti a TextField in UI Test in Xcode 7

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

Ho anche provato quanto segue e lavorerà in base al testo segnaposto?!?

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

Qual è il modo corretto per ottenere un riferimento a un campo di testo nei test dell'interfaccia utente?

+0

Quale beta stai? –

+0

Questa domanda era per la beta 4; appena caricato nella versione beta 5. – Dan

risposta

20

È necessario impostare l'identificatore di accessibilità nello storyboard per quel campo di testo specifico. Controllare l'immagine qui sotto:

enter image description here

Così si può interrogare textField utilizzando identificatore accessibilità in questo modo:

let app = XCUIApplication() 
app.launch() 

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

Cosa succede se questo è in un array, quindi ci sono due o più sullo schermo contemporaneamente? C'è un modo per trovarne uno con il suo testo attuale? –