2015-10-20 5 views
5

Ich entschuldige mich im Voraus, wenn meine Frage primär klingt, ich bin sehr neu bei QA und Selenium.Was ist der genaue Unterschied zwischen "ExpectedConditions.visibilityOfElementLocated" und "ExpectedConditions.presenceOfElementLocated"

Was den genauen Unterschied zwischen ist:

wait.until(ExpectedConditions.visibilityOfElementLocated 
        (By.xpath("//a[text()='Show advanced settings...']"))).click(); 

und

wait.until(ExpectedConditions.presenceOfElementLocated 
        (By.xpath("//a[text()='Show advanced settings...']"))).click(); 

ich here einen Blick hatte, aber es habe nicht herausgefunden.

Antwort

9

Der visibilityOfElmementLocated überprüft, ob das Element vorhanden und auch sichtbar ist. Um die Sichtbarkeit zu prüfen, stellt sie sicher, dass das Element eine Höhe und Breite von mehr als 0 hat.

Das presenceOfElementLocated prüft nur das dom, um festzustellen, ob ein Element unabhängig von seiner Sichtbarkeit gefunden werden kann.

Quelle: https://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/support/ui/ExpectedConditions.html#visibilityOf-org.openqa.selenium.WebElement-

visibilityOf public static ExpectedCondition visibilityOf (WebElement Element) Eine Erwartung zum Überprüfen, dass ein Element bekannt, auf dem DOM einer Seite vorhanden ist, sichtbar ist. Sichtbarkeit bedeutet, dass das Element nicht nur angezeigt, sondern hat auch eine Höhe und Breite, die größer als 0 Parameter sind:

+0

so, wenn ein Element vorhanden ist, aber nicht sichtbar wir nicht darauf klicken können, aber wenn es sichtbar ist und Jetzt können wir es schaffen, oder? – LoveLovelyJava

+0

Korrigieren. Sofern Sie kein Javascript verwenden, klicken Sie auf. –

+0

Was ist mit Javascript klicken? muss ich Code in Javascript schreiben? !! :( – LoveLovelyJava