2012-04-19 66 views

回答

19

isElementPresent() - 這種方法基本上測試,如果我們正在尋找的元素存在的地方在頁面上。

ISVISIBLE() - 查找顯示:無風格的標籤 - 這可能會拋出一個空指針,如果我們不小心......因此,看一個元素是可見的首次檢查元素存在使用isElementPresent () 方法。然後嘗試檢查元素是否可見!

請注意,即使我們的元素不可見,isElementPresent()也不介意。

對於前: 可以說下面是我的測試應用程序組件的HTML代碼:

現在如果你

selenium.isElementPresent("testinput") - returns true! 
selenium.isVisible("testinput") - returns false! 
+0

isVisible()不會得到空指針異常。但是如果元素不存在,你可以得到一個SeleniumException。通常的技術就像'if(selenium.isElementPresent(locator)&& selenium.isVisible(locator)){...做某事...}'。 – 2012-04-19 17:45:23

11

如何異常有關閱讀the documentation

布爾isElementPresent(java.lang.String中定位符)

驗證指定的元素爲某處在頁面上。

布爾ISVISIBLE(java.lang.String中定位符)

確定指定元件是可見的。元素可以是 ,通過將元素 本身或其祖先之一設置爲「隱藏」的 或「顯示」屬性爲「無」,將CSS「visibility」屬性設置爲不可見。如果元素 不存在,則此方法將失敗。

+2

測試上述組件的API似乎設計得不好。如果你想斷言你說assertElementIsPresent或assertIsVisible。如果目標不可用,isMethods不應拋出異常。問題來自API的不對稱設計。那天你一定是有糟糕的一天。 – boatcoder 2013-09-10 14:45:43