J'ai donc une fenêtre qui apparaît en cliquant sur un élément du menu. Normalement, le premier textBox obtiendrait un focus immédiat sur le clavier, mais dans le UITest, rien dans la fenêtre n'obtient le focus du clavier (pas de bague de mise au point). Cette situation est problématique car du coup il me empêche de taper dans le champ de texte avec textField.typeText("someText")
XCode UITest ne donnera pas le focus clavier NSTextField
J'ai essayé .click()
sur la fenêtre et sur la zone de texte pour essayer de donner le focus, mais rien ne semble apporter la fenêtre ou zone de texte au point. Toute aide sera grandement appréciée
Exemple
MainMenu().menuItemForWindow.click() // Opens window
app.windows["windowTitle"].textFields["textBoxId"].click() // Clicks but field does not gain focus
app.windows["windowTitle"].textFields["textBoxId"].typeText("SomeText") // Is not typed into the textField
Comme une note de côté, je l'ai vérifié que tous les éléments que je suis Interrogation n'existent réellement.
EDIT:
Je l'ai eu à travailler par littéralement spamming typeText()
jusqu'à ce qu'il change la valeur de la zone de texte donné avec quelque chose comme
if let oldValue = textbox.value as? String {
var newValue: String? = oldValue
while newValue == oldValue {
textbox.typeText("a")
newValue = textbox.value as? String
}
//If we get here then we have edited the text box
textbox.typeText(XCUIDeleteKey) // Get rid of spam text
//TYpe what I want
//...
}
Cependant, cette méthode est aki et je ne peux pas J'ai vraiment mis un temps d'arrêt, sauf heuristiques (environ 15-30), donc j'espérais que quelqu'un pourrait aider à expliquer une meilleure façon de se concentrer sur la zone de texte ou au moins une explication de ce que je fais mal à l'origine. Toute aide serait grandement appréciée.
Le clavier apparaît-il automatiquement lorsque vous exécutez l'application dans le simulateur sans test? Avez-vous essayé de basculer le paramètre de clavier matériel sur le simulateur? – Oletha
Ceci est sur OSX et non sur iOS –