est-il possible pour SELENIUM d'évaluer tous les éléments pouvant correspondre à un certain Par exemple, j'aimerais évaluer si tous les em> cochés em> sont vérifiés avec xpath code>? p>
// entrée [type = 'case'] code> - problème est que je n'en reçois qu'un Élément retourné. P>
5 Réponses :
Vous pouvez utiliser la commande getXpathCount pour déterminer le nombre d'éléments correspondants. Vous pouvez ensuite les boucler à travers un incrément pour localiser chaque élément individuellement. L'exemple Java (TestG / Junit) suivant vérifierait que toutes les cases à cocher sur une page sont cochées:
Merci Dave, Santi. Mon problème est que je n'ai pas la possibilité d'utiliser le client Sélénium dans les tests unitaires. Malheureusement, je suis confiné à l'utilisation des tables de Selenium IDE et de commandement, mais cela ne signifie pas que je ne pourrais pas piquer dans certains JS à faire exactement la même chose.
Si vous le résolvez dans l'IDE avec JavaScript, envoyez votre solution. Je serais intéressé à la voir. :)
Il n'y a aucun moyen de sélénium pourrait évaluer une liste d'éléments renvoyés par un localisateur. Il suffit de saisir le premier et fait-il qu'il s'agisse de ça. P>
La réponse Dave est la meilleure alternative pour ce que vous recherchez. P>
Je pense que ça mérite toujours d'un aller dans JS :)
J'essaie de faire exactement la même chose en sélénium et j'ai essayé d'utiliser l'exemple de @ Dave-Hunt, mais c'est une méthode incorrecte pour trouver un élément individuel dans une collection.
Considérez l'exemple suivant: P > Si vous utilisez une expression comme: p> Ceci retournera toutes les entrées de texte de la page. Pourquoi? Parce que chaque entrée est le premier élément correspondant dans son propre arbre. P> Cependant, si vous utilisez une expression comme: p> ou p> < Pré> xxx pré> La première expression prendra la première entrée et la deuxième expression prendra la deuxième entrée. Il est très important que vous utilisiez un seul "/" et non un double "//". p> p>
avec Vous ne pouvez rechercher que tous les éléments d'entrée em> dans l'arborescence. Cela ne fonctionnera pas si vous voulez simplement analyser un sous-arbre. P> Un meilleur moyen est la suivante: p> qui retournera le résultat # 2 etc. de l'expression XPath entre les crochets. P> Bien sûr, vous pouvez également faire P> (//input[@type='text'])[1]
J'ai essayé l'approche ci-dessus et que le sélénium jetait des exceptions que l'élément n'est pas trouvé.Adding Prefix XPath = résolu le problème.
exemple p>
Le préfixe xpath = code> a sauvé ma journée! Mille mercis!