2016-06-02 4 views
0
if(driver.findElement(By.xpath("//*[@id='myClass']/tr[1]")) != null){ 
      //passed 
}else{ 
//failed 
} 

was zu schreiben, um Pass oder nicht bestanden für selenium? Ich kann System.out.println("failed"); tun, aber es zeigt immer noch Failure = 0 am Ende.Selen letzten bedingten Fehler oder Pass

+0

Wie möchten Sie scheitern? Willst du eine Ausnahme? – Mobrockers

+0

@Mobrocker Ich will es das Endergebnis gibt es 'Fehler: 1' –

Antwort

1

Verwenden findElements statt findElement und überprüfen Sie die size:

if(driver.findElements(By.xpath("//*[@id='myClass']/tr[1]")).size() != 0){ 
    //passed 
}else{ 
    //failed 
} 

Sie auch die Ausnahme abfangen könnten:

try { 
    WebElement element = driver.findElement(By.xpath("//*[@id='myClass']/tr[1]")); 
    //passed 
} catch (NoSuchElementException ex) { 
    //failed 
} 
+0

Was ist das anders btw wenn sonst und versuchen zu fangen? –

+0

Es wird Ihnen erlauben, das Vorhandensein eines Elements in beiden Fällen zu bewerten. Was denken Sie über Unterschiede? –

+0

Ich verstehe die Verwendung von try catch nicht –

0

Wenn Sie Ihren Test fehlschlagen, wenn einige Bedingungen versuchen nicht erfüllt waren Verwenden von JUnit Assertions.

assertTrue(driver.findElements(By.className("myClass")).size() > 0); 

In diesem Fall Test schlägt fehl, wenn keine Elemente mit Klasse myClass nicht gefunden wurden.

Verwandte Themen