3 回答

TA貢獻1825條經驗 獲得超4個贊
Selenium 的異常處理是證明您的測試不受意外情況影響的好方法。例如,如果元素不再附加到頁面,您可以嘗試再次查找該元素,例如在執行更改元素中的某些內容的 javascript 之后。
try{
driver.findElement(By.id("MyId")).click();
} catch (StaleElementReferenceException e){
driver.findElement(By.id("MyId")).click();
}
或者,例如,如果某個元素沒有出現,您可以忽略,例如登錄后頁面頂部的 GDPR 覆蓋。
try {
wait.until(ExpectedConditions.presenceOfElementLocated(By.id("gdpr_overlay")));
} catch (TimeoutException ignored){
}
如果覆蓋沒有出現,這將忽略等待引發的異常并繼續運行您的測試。

TA貢獻1842條經驗 獲得超13個贊
異常是非常有用的功能,遠比日志記錄有用,你應該查一下。你可以在 catch 塊中做任何你想做的事情,如果第一個元素失敗,你可以嘗試單擊不同的元素,重定向到另一個頁面......可能性真的是無窮無盡的。忠告:避免泛型異常,你應該捕獲特定的異常并做出相應的反應,在最后一個catch塊中你可以做泛型異常e并拋出錯誤。

TA貢獻2080條經驗 獲得超4個贊
首先 ExceptionHandling 不是 Selenium 的概念,但它與 JAVA 有關?,F在談到處理異常的用法,它對您在構建框架時將理解的概念有很多深入的了解,但到目前為止,通過處理異常來理解您可以繼續執行您的代碼而不用 JVM 終止其余部分時它是很重要的遇到異常。
try{
}
catch{
}
finally
{
}
當你總是想執行一段代碼時,不管你的場景是通過還是失敗,finally 也非常有用,例如 driver.close()。希望對您有所幫助......快樂的編碼:)
添加回答
舉報