2017-02-13 78 views
0

1.爲什麼不能關閉警報彈出窗口?爲什麼不能關閉警報彈出窗口?

  • 我都試過警報等,它將關閉彈出,但然後我得到了奇怪的測試,其中彈出dosnt關閉/
  • 3.我的代碼:

    public void closeAlertPopupBox() throws AWTException, InterruptedException { 
        try { 
         Alert alert = this.wait.until(ExpectedConditions.alertIsPresent()); 
          alert.accept(); 
          System.out.println("The popup has been successfully closed"); 
        } catch (UnhandledAlertException f) { 
         Alert alert = this.driver.switchTo().alert(); 
         alert.accept(); 
        } catch (Exception e) { 
         System.out.println("Unable to close the popup"); 
         Assert.assertFalse(true, "Unable to close the popup, Exception: " + e.getMessage()); 
        } 
    } 
    
  • 上述代碼的工作,但我得到其中慣於緊密而且會有測試失敗奇數彈出。

  • 使用以下所需的功能工作,但然後我在TestNG上得到一個錯誤,它說有一個'意外的彈出',但代碼仍然是acepts並關閉彈出窗口。

  • 我的代碼:

       System.setProperty("webdriver.chrome.driver", Constant.CHROME_DRIVER_DIRECTORY); 
    
          DesiredCapabilities caps = DesiredCapabilities.chrome(); 
          LoggingPreferences logPrefs = new LoggingPreferences(); 
          logPrefs.enable(LogType.BROWSER, Level.ALL); 
          UnexpectedAlertBehaviour.ACCEPT); 
          caps.setCapability(CapabilityType.LOGGING_PREFS, logPrefs); 
          webdriver = new ChromeDriver(caps); 
    
  • 任何想法找到解決這個問題的工作? enter image description here 感謝您幫助

    +0

    爲3號執行一些奇怪的原因會導致測試失敗 – Gbru

    +0

    警報警報= driver.switchTo()警報()。 alert.accept();或alert.dismiss(); –

    回答

    1

    當你只接受popup.To結束,我們必須使用關閉提醒的方法彈出 請遵循詳細

    Alert alert= driver.switchTo().alert(); 
    alert.dismiss(); 
    

    下面的代碼,如果問題然後保持你可以嘗試處理相同即

    Alert alert= driver.switchTo().alert(); 
    Thread.sleep(500) 
    alert.dismiss();