2016-03-22 53 views
0

你可以給一個建議(請參閱圖片)如何檢查selectIndicator是否存在於一個塊中,然後我應該選擇另一個塊。我知道如何檢查整個頁面上的元素isPresent,但是我需要找出它是否出現在特定元素上。在我的例子中,我選擇了Living Room,我需要檢查DVR是否被選中 - 選擇一個。任何想法我怎麼能做到這一點?我試圖檢查這種方式,但沒有運氣:Appium:驗證相對元素的存在

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

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

+0

可能的重複[如何使用「如果」運營商的Appium測試](http://stackoverflow.com/questions/36004961/how-to-use-if-operator-for-appium-tests) – econoMichael

+0

不是真的重複。您的解決方案將檢查頁面上存在的元素,這可以通過使用isPresent或isDisplayed來完成。但我需要如果元素存在於特定的定位器(Xpath或id)。任何想法如何實現這一點? –

+0

您可以嘗試查找元素的屬性並與預期的元素匹配,例如使用WebElement w; \t \t w.getAttribute(爲arg0) \t \t w.getCssValue(爲arg0) \t \t w.getTagName() –

回答

0

如果我沒有得到你錯了,你要實施適當的解決辦法自定義的數據結構。這可能與此類似:

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); 

然後您可以相應地使用這些參數。

注意:參數和方法是一般化的,應該修改以滿足確切的目的。