Comment simuler en appuyant sur Entrée dans l'entrée de texte HTML avec Selenium?
-
09-06-2019 - |
Question
Dans une interface Web, j'ai un champ de texte. Lorsque l'utilisateur entre du texte et accepte avec enter, l'application exécute une action.
Je voulais tester le comportement avec Selenium. Malheureusement, l'invocation de 'keypress' avec chr (13) insère la représentation du caractère dans le champ.
Existe-t-il un moyen autre que de soumettre le formulaire? J'aimerais imiter l'interaction de l'utilisateur prévu, sans aucun raccourci ...
La solution
Ce code Java fonctionne pour moi:
selenium.keyDown(id, "\\13");
Remarquez l'évasion. Vous avez probablement besoin de quelque chose comme chr (\ 13)
Autres conseils
J'ai fini par utiliser sélenium.keyPress (id, "\\ 13");
Bien que je n’aie pas testé cela, j’imagine que vous pouvez utiliser " \ r \ n " ajouté à une chaîne pour simuler une nouvelle ligne. Sinon, recherchez les langues équivalentes à "Environment.NewLine;". ?
Cela fait un moment que je n’ai pas à faire cela, mais je me souviens bien d’avoir eu à utiliser un extrait de code javascript pour exécuter le retour de la bannière au lieu d’utiliser la touche Selenium.
vous pouvez utiliser Webelement.sendkeys (Keys.Enter);