J'utilise SELENIUM Cependant, je pense que ce n'est pas un bon moyen, quiconque sait un meilleur moyen de tester cela? p>
Merci beaucoup. P> 2.24 CODE> Pilote Firefox pour tester une boîte d'entrée
SendKeys code> dans une zone de saisie, je laisse Selenium à cliquer sur une autre zone qui déclenche le flou de la boîte de saisie. p>
5 Réponses :
J'ai fait une enquête Lil. J'ai découvert que l'événement de feu n'est pas pris en charge à Selenium 2.0. Voir Détails .
Donc, ce morceau de code a fonctionné pour moi: espoir maintenant cela vous aide) p> p>
Malheureusement, en utilisant la méthode conduira à une exception: ............... à java.lang.reflect.constructor.newinstance (constructor.java:5 13) à org.openqa.selenium.remote.errorhandler. créée (erro rhandler.java:188) à org.openqa.selenium.remote.errorhandler.thhrowifreesponsefaile d Java: 472) à org.openqa.selenium.remote.remottewebdiver.executscript (remoewebdriver.java:38 1) à org.openqa.selenium.internal.seleniumemulation.javascriptLib Rary.CallembedDhtm Lutils (JavascriptLib Rary. Java: 82)
Le sélénium webDiver ne déclenche pas correctement des événements comme Flou. Vous pouvez cependant les déclencher manuellement. En supposant que vous utilisez jQuery: ou sans jQuery: p>
Cette méthode fonctionne également pour HTMLunitDriver, ChromeRiver, SafaridRiver et InternetExExplorerRiver.
Remplacez "ELEMENTID" avec ID d'élément correspondant. Ça fonctionne bien pour moi. "Driver" est votre pilote de sélénium P>
JavaScriptExteur JSEXEC = (JavascriptExecutor) Pilote; jsexec.executscript ("document.getelementByID ('" + ElementID + "'). Onblur ();"); P> blockQuote>
merci Eugene.polschikov. Je devais changer la fonction pour appeler triggerhandler code> pour le faire fonctionner pour moi. Voir ce qui suit - il suffit de remplacer "Element-ID" avec l'ID de votre élément.
JavascriptExecutor jsexec = (JavascriptExecutor) driver;
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("var x = $('" + element-id + "');");
stringBuilder.append("x.triggerHandler('blur');");
jsexec.executeScript(stringBuilder.toString());
Certains éléments n'ont pas de discriminateur approprié à des fins de test (par exemple, un identifiant ou un autre sélecteur CSS que vous souhaitez être lié à vos tests).
heureusement, la notion d'un ActiveLement Extentions. Donc, si la fonctionnalité de flou de l'élément est ce que vous souhaitez tester, une manière javascript native (non dépendante sur jQuery ou similaire) pour tester cela est la suivante: p>
Je ne me souviens pas si cela a travaillé pour l'événement Onblur, mais essayez de webelement.sendkeys (Keys.Return);
Si vous utilisez c #, vous pouvez insérer un
onglet code> Char à la fin de la chaîne à envoyer à l'élément:
ele.sendkeys ("mon chaîne \ t") code>
Certainement.sendkeys ("\ t") fonctionne également dans Java, solution la plus courte