Ich implementiere viele Selenium-Tests. Manchmal versagen, meine Tests aufgrund eines StaleElementReferenceException
so will ich diesen Ansatz überprüfen:Versuchen Sie "StaleElementReferenceException" in Selen zu vermeiden - ist dieser Ansatz in Ordnung?
Click Griff:
def clickHandle(expectedCondition: (By) => ExpectedCondition[WebElement], by: By, timeOut: Long): Unit = {
var count = 0
var isClicked = false
breakable {
while (count < 4 || !isClicked) {
try {
val element = driver.findElement...
element.click()
isClicked = true
break
} catch {
case e: StaleElementReferenceException => println("Trying to recover from a stale element")
count = count + 1
}
}
}
}
Get Attribut Griff:
def getAttributeHandle(expectedCondition: (By) => ExpectedCondition[WebElement], by: By, timeOut: Long, attribute: String): String = {
var count = 0
var result = false
var str = ""
breakable {
while (count < 4 || !result) {
try {
val element = driver.findElement...
str = element.getAttribute(attribute)
result = true
break
} catch {
case e: StaleElementReferenceException => println("Trying to recover from a stale element")
count = count + 1
}
}
}
str
}