Le Sélénium WebElement.cliquez sur la (les) vs Javascript cliquez sur l'événement
Je me demandais quelles sont les différences entre l'appel de la click()
méthode de la WebElement contre trouver l'élément par son id et le tir à la click
événement avec JavaScript.
Juste pour être clair, dans la première méthode, j'appelle le .click()
d'une instance de WebElement:
myWebElement.click();
La deuxième technique est:
((JavascriptExecutor)driver).executeScript("document.getElementById('myElementID').click()");
Je suis intéressé à savoir toutes les différences entre ces deux techniques pour cliquant sur le web des éléments, et aussi les avantages et les inconvénients de chacun.
OriginalL'auteur daniele | 2014-07-04
Vous devez vous connecter pour publier un commentaire.
Webdriver utilise un navigateur support natif pour la cartographie de l'élément DOM WebElement objet à l'aide de l'id/xpath etc.
La
JavascriptExecutor.executeScript
exécute une externe script dans le contexte de la fenêtre du navigateur. (similaire à un augmentée outil de navigation comme singe de graisse, si vous avez déjà utilisé),et dans le cas où le script renvoie n'importe quel élément du DOM ses convertis en WebElement objet.
On peut dire aussi, cliquez sur simulé par WebDriver sur un navigateur est similaire à ce que l'utilisateur n'par rapport à une invoqué à l'aide de javascript.
Dans la réalité, avec WebDriver pas tous les événements peuvent être automatisées de manière impeccable avec tous les navigateurs web, en fait, avec différentes versions d'un même navigateur Web aussi. (c'est à dire les différentes version d'IE, FF, etc se comportent différemment). Encore WebDriver est la proximité de l'outil de disponibles pour cela.
Une fois (~4 ans en arrière) sur une certaine version de IE, nous avons observé que nous ne pouvons pas envoyer le clic droit ou peut-être passer la souris sur générés liens du menu, nous avons donc utilisé le js à simuler, qui a effectué beaucoup indépendant du navigateur. à vous maintenant de conclure que l'exécution de javascript externe peut être bon pour.
Aussi, il y a automatisé de test web des cadres de l'utilisation de javascript pour tout lieu de navigateur de soutien aux autochtones. par exemple :http://en.wikipedia.org/wiki/Sahi_%28software%29
Ref:
Je doute si vous pouvez toujours cliquer sur un bouton si sa déjà désactivé. rappelez-vous c'est toujours la même bouton dans le même DOM
si vous avez firefox puis de charger votre page (avec bouton désactivé), puis passez à l'
tools->Web Developers->Scratchpad
. Cela va ouvrir un petit bloc-notes de la fenêtre. copie de votre script dans ildocument.getElementById('myElementID').click()
. puis cliquez surRun
bouton, puis vérifiez par vous-même ce qui se passe. 🙂en fait, je ne pouvais faire que des outils de développement-> console à la fois dans chrome et firefox, oui, vous avez raison!
ce qui convient à vous.
OriginalL'auteur Shail016
Ce genre de tests sont E2E (bout à bout) pas BDD.
Première est exécutée maintenant, à prendre la prochaine action que vous devez écrire une fonction qui permettra de retarder l'exécution de l'e.g télécharger de nouvelles données à partir du serveur.
Le deuxième code de retour
promise
– http://selenium.googlecode.com/git/docs/api/javascript/class_webdriver_WebElement.html – "Horaires de commande, cliquez sur cet élément." – vous pouvez utiliser puis de rappel à la prochaine exécution de l'action.OriginalL'auteur Krzysztof Safjanowski