2008-09-16 12 views
9

Dans une interface web, j'ai un champ de texte. Lorsque l'utilisateur saisit du texte et accepte avec enter, l'application effectue une action. Je voulais tester le comportement avec Selenium. Malheureusement, invoquer 'keypress' avec chr (13) insère la représentation du caractère dans le champ.Comment simuler appuyer sur entrer en entrée de texte html avec Selenium?

Existe-t-il un autre moyen de soumettre le formulaire? Je voudrais imiter l'interaction utilisateur prévue, sans aucun raccourci ...

Répondre

10

Ce code Java fonctionne pour moi:

selenium.keyDown(id, "\\13"); 

Notez l'évasion. Vous avez probablement besoin de quelque chose comme chr (\ 13)

+0

Citation de la citation. Ça fait l'affaire! – Tomo

+0

qu'en est-il de la situation lorsque j'ai reçu un message d'erreur et qu'il n'y a pas d'identifiant sur ce bouton? Puis-je en quelque sorte appuyer sur entrer par sélénium? – deadfish

0

Bien que je n'ai pas testé cela, j'imagine que vous pouvez utiliser "\ r \ n" ajouté à une chaîne pour simuler une nouvelle ligne. Si ce n'est pas le cas, recherchez les langues équivalentes à "Environment.NewLine;" ?

0

Cela fait longtemps que je n'ai pas eu à le faire, mais je me rappelle avoir dû utiliser un extrait javascript pour exécuter le retour carrage au lieu d'utiliser la fonction de sélection de touches Selenium.

5

J'ai fini par utiliser selenium.keyPress (id, "\\ 13");

0

vous pouvez utiliser Webelement.sendkeys (Keys.Enter);

Questions connexes