0
votes

Appium. Utilisation des axes XPath dans le localisateur. Trouver des oisifs / parent / enfant / etc. Éléments dans le contexte de l'élément CurTent

est-il possible de trouver des éléments de frère / parent / enfant / etc. dans le contexte de l'élément mobile existant. Par exemple, j'ai un élément de base: MobileLement MobileElement = pilote.findellement (by.xpath ("// n'importe quel / xpath / localisateur"));

Puis j'ai besoin de trouver l'élément de frère de soeur suivant. Dans le sélénium, je pourrais utiliser le code similaire: MobileElement NextMobileElement = MobileElement.findellement ("Suite-Sibling :: Nextellement ['Toute condition']"); Mais dans l'appui, je reçois NosuchelementException.

Quelle est la syntaxe appropriée pour l'utilisation des axes XPath dans l'appui pour localiser des éléments de manière définie ci-dessus?


0 commentaires

3 Réponses :


0
votes

En général, si vous souhaitez trouver un élément sous un élément parent à l'aide de XPath, ajoutez un . au XPath pour dire que l'élément enfant XPath doit être recherché sous l'élément parent donné. Donc, dans votre cas, vous pouvez essayer quelque chose comme: xxx

par exemple mobileelement.findellement (by.xpath (". // div [@ class = 'xyz' ] ")


2 commentaires

Je connais cette fonctionnalité et j'ai essayé d'utiliser un. Avec une seule double / dans mon expression XPath, mais dans tous les cas, j'ai eu "NosuchelementException".


Ensuite, pouvez-vous poster votre DOM XML et le XPATH que vous essayez d'utiliser, de sorte qu'il nous donnera une meilleure idée de votre problème?



0
votes

Appium prend en charge XPath en tant que webDriver. Assurez-vous que votre XPATH est correct, vous pouvez le tester dans Appium-Desktop . Suite-Sibling travaillait pour moi sans aucun problème. Lorsque l'appui n'est pas en mesure de traiter l'expression XPath, vous devez obtenir l'exception correspondante.


0 commentaires

0
votes

solution trouvée à la prochaine intention: Lorsque l'appium est incapable de sélectionner l'élément par son nom, c'est-à-dire un élément, vous pouvez alors visualiser l'attribut "Class" de la classe ", et il contiendra un texte identique: Classe =" Android.Widget.viewanator ". Vous pouvez donc construire des localisateurs compliqués d'Oyur XPath basé sur cet attribut. En cas d'axes XPath, il semblera de ressembler à ceci: // Certains / XPath / Aburant-frère :: * [@ class = 'android.widget.viewanimator'].


0 commentaires