2017-10-05 1 views
0

Je fais Appium pour Android et je sais déjà comment trouver un élément en utilisant scrollIntoView().Comment utiliser un MobileElement pour trouver ses frères et sœurs dans Appium Android

Le tableau que j'ai est comme ceci:

(2)TableLayout 
    (0)TableRow 
     (0)LinearLayout 
     (1)LinearLayout 
      (0)TextView:Tom 
      (1)TextView:OPEN 
      (2)TextView:OPEN 
    (1)TableRow 
     (0)LinearLayout 
     (1)LinearLayout 
      (0)TextView:Jack 
      (1)TextView:OPEN 
      (2)TextView:OPEN 

Comme je l'ai mentionné plus haut, je peux localiser (0) TextView avec le texte « Tom » et l'identifiant. Cependant, ce que je veux est de localiser (1) TextView et cliquez dessus. Y a-t-il des moyens de le faire?

Je suis à la recherche de quelque chose comme:

MobileElement tom = the (0)TextView I located; 
MobileElement target = tom.findElement(__); 
target.click(); 

Répondre

0

vous pouvez essayer cela en utilisant XPath. Voici un exemple

//*[@text='Tom']/following-sibling::[1 or 2] 

Vous pouvez paramétrer le texte ci-dessus

+0

Cela fonctionne réellement, mais je dois utiliser le pilote au lieu de tom. –

0

C'est ce que je fais finalement.

Depuis scrollIntoView() peut faire défiler vers le bas jusqu'à ce que Tom et la cible sont à la fois visibles à l'écran, je fini par effectuer les opérations suivantes:

MobileElement tom = scrollToElement(table, name_id, "Tom"); // scrollIntoView() 
MobileElement target = driver.findElementByXPath("//*[@text='Tom']/following-sibling::android.widget.TextView[1]"); 

j'utiliser le pilote au lieu de tom pour trouver l'élément.