So habe ich diese generische Funktion, die auf ExpectedCondition
für meine Elementbasis warten:Selen: wie mehr als 2 Ausnahme ignorieren
def findMyElement(expectedCondition: (By) => ExpectedCondition[WebElement], by: By, timeOut: Long): WebElement = {
createFluentWait(timeOut).until(expectedCondition(by))
driver.findElement(by)
}
def createFluentWait(timeOut: Long): FluentWait[WebDriver] = {
new FluentWait[WebDriver](driver)
.withTimeout(timeOut, TimeUnit.SECONDS)
.pollingEvery(1, TimeUnit.SECONDS)
.ignoring(classOf[NoSuchElementException], (classOf[StaleElementReferenceException]))
}
Also meine Frage ist, wie zu einer anderen hinzuzufügen Exceptions
meine createFluentWait
Funktion, um vermeiden Sie Exception
vor dem Timeout? (Ohne Berücksichtigung bekommt nur 2)
Ist es gut, mehrere Ausnahmen hinzuzufügen? oder vielleicht um es zu vermeiden? Ich will dies, um zu versuchen, bis Timeout erreicht, ich möchte auch ElementNotVisibleException und NoSuchElementException ignorieren –
Es hängt davon ab, welche Ausnahme Sie erhalten, warum das passiert und ob das erwartet wird oder nicht. Ich finde oft, dass 'NoSuchElementException' und' StaleElementReferenceException' die einzigen beiden sind, die ich benutze. –
Ist die Ausnahmenreihenfolge auch ein Problem? –