簡體   English   中英

未處理的異常:java.lang.InterruptedException

[英]Unhandled Exception: java.lang.InterruptedException

在 selenium 的寫入自動化測試期間,我收到 Unhandled Exception: java.lang.InterruptedException for line which uses "wait"

   public static void clickFirstAccountDetails() {
        getDriver().switchTo().frame(0);
        getDriver().wait(5000);
        getDriver().findElement(By.partialLinkText("Xyz")).click();
    }

未處理的異常:java.lang.InterruptedException

其他方法如 switchTo、findElement 工作正常。

是的,java 沒有顯式處理所謂的已檢查異常是編譯器錯誤,並檢查了InterruptedException。 幸運的是,解決方案非常簡單:

只需將異常添加到 throws 行。 事實上,對於任何測試代碼,您都可以隨意在其末尾添加throws Exception 拋出的測試方法被視為失敗的測試,這幾乎總是您想要發生的事情,這樣,異常中可用的每個細節都將最終出現在您的測試報告中,這也是您通常想要的。 因此,將第一行更新為:

public static void clickFirstAccountDetails throws Exception {

這將解決它。 你可能想做:

public static void clickFirstAccountDetails throws InterruptedException {

相反,如果您希望在擴展測試代碼並包含對引發其他已檢查異常的代碼的調用時繼續獲得編譯器錯誤。

wait() 方法拋出 InterruptedException 這就是為什么你得到未處理的異常:java.lang.InterruptedException

public static void clickFirstAccountDetails() {
        getDriver().switchTo().frame(0);
        try{
           getDriver().wait(5000);
          }catch(InterruptedException){}
        getDriver().findElement(By.partialLinkText("Xyz")).click();
    }

你可以使用 try catch (異常處理)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM