Xcode, INTERFACE utilisateur de Test - la saisie de texte avec typeText() la méthode et l'autocorrection
J'ai un test comme ci-dessous:
let navnTextField = app.textFields["First Name"]
let name = "Henrik"
navnTextField.tap()
navnTextField.typeText("Henrik")
XCTAssertEqual(navnTextField.value as? String, name)
Problème est que par défaut mon iPhone Simulator
a obtenu clavier polonais parce que les paramètres du système et "Clément" est automatiquement changé en "ha" par la correction automatique.
La solution la plus Simple est de supprimer du clavier polonais de la iOS Settings
. Cette solution n'est cependant pas de résoudre le problème parce que iPhone Simulator
peut être remis à zéro, puis le test échoue de nouveau.
Est-il possible de l'installation avant de correction automatique de cas de test ou autre moyen de saisie de texte pour le champ de texte.
Vous devez vous connecter pour publier un commentaire.
Voici une petite extension sur XCUIElement pour accomplir cette
Il peut être utilisé comme cela
Il y a une solution pour utiliser UIPasteboard de fournir de saisie de texte:
Vous pouvez vérifier lien avec la description comme une solution pour sécuriser l'entrée dans le GM
Modifier
Pour une meilleure lisibilité au lieu
app.menuItems.elementBoundByIndex(0).tap()
vous pouvez faire
app.menuItems["Paste"].tap()
.Actuellement l'utilisation de Swift 4 sur Xcode 10
vous pouvez maintenant utiliser
typeText(String)
comme cecilet app = XCUIApplication()
let usernameTextField = app.textFields["Username"]
usernameTextField.typeText("Caseyp")
Pour swift v3 besoin d'utiliser de nouvelles sintax (réponse par @mike):
et de l'utiliser:
Modifié:
code:
Exécuter avec: