2016-03-22 9 views
0

Können Sie einen Vorschlag machen (siehe Bild), wie kann ich prüfen, ob selectIndicator in einem Block vorhanden ist, dann sollte ich einen anderen auswählen. Ich weiß, wie man überprüft, ob dieses Element auf der ganzen Seite vorhanden ist, aber ich muss herausfinden, ob es auf einem bestimmten Element vorhanden ist. In meinem Beispiel habe ich Living Room gewählt, und ich muss prüfen, ob der DVR nicht gewählt wurde - wählen Sie diesen aus. Irgendeine Idee wie kann ich es tun? Ich habe versucht, diese Möglichkeit zu überprüfen, aber kein Glück:Appium: Verifizieren der Anwesenheit von relativen Elementen

WebElement element= driver.findElementByAccessibilityId("First element").findElementByAccessibilityId("Second element"); 

[http://i.stack.imgur.com/F98DM.png]

+0

Mögliches Duplikat von [Wie man "if" -Operator für Appium-Tests verwendet] (http://stackoverflow.com/questions/36004961/how-to-use-if-operator-for-appium-tests) – econoMichael

+0

Nicht wirklich Duplikat. Ihre Lösung prüft das Element auf der Seite, das kann mit isPresent oder isDisplay durchgeführt werden. Aber ich brauche, wenn Element auf bestimmten Locator (Xpath oder ID) existiert. Irgendeine Idee wie man das umsetzt? –

+0

Sie können versuchen, Attribute des Elements zu finden und mit den erwarteten zu vergleichen, z. B. mit WebElement w; \t \t w.getAttribute (arg0) \t \t w.getCssValue (arg0) \t \t w.getTagName() –

Antwort

0

Wenn ich dich nicht falsch bekommen Sie eine selbst definierte Datenstruktur für eine geeignete Lösung implementieren möchten. Das könnte etwas ähnliches sein:

public class DVRList { 
//declare components required to comprise one item 
private String dvrOptionText ; 
private boolean dvrOptionCheck ; 
// implement setter..getter for these two 
} 

...in some method set the value using the logic 
DVRList dvrlist = new DVRList(); 
WebElement parentOfBoth = driver.findElement(By.xpath(" 
//android.widget.RelativeLayout[1]/android.widget.R‌​elativeLayout[1]"); 
String text = parentOfBoth.findElementByAccessibilityId("First element").getText(); 
dvrlist.setdvrOptionText(text); 
if(isElement(parenOfBoth.findElementByAccessibilityId("Second element")) 
dvrlist.setdvrOptionCheck(true); 
else dvrlist.setdvrOptionCheck(false); 

und danach können Sie diese Parameter entsprechend verwenden.

Hinweis: Parameter und Vorgehensweise sind verallgemeinert und sollten geändert werden, um den genauen Zweck zu erfüllen.