2016-09-20 52 views
0

我試圖處理上的Chrome一個意想不到的瀏覽器警報(離開必填字段爲空)處理結果,並較早獲得一次我改變鉻司機是2.24 這是解決加載狀態異常現在我使用這個代碼片斷接受警告,並得到了頁面瀏覽器的警報沒有得到異常

public void loginAlert() { 
     try{ 
      driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
     } 
     catch (org.openqa.selenium.UnhandledAlertException e) { 
      Alert alert = driver.switchTo().alert(); 
      String alertText = alert.getText().trim(); 
      System.out.println("Alert data: "+ alertText); 
      alert.dismiss();} 
    } 

這是我期望此警報的頁面上定義,也被點擊調用此警報的按鈕上的定義同一頁。

現在在我這裏測試是我

at XXXXPage 
classname.WaitForPageLoad() 
Button.click() 
loginAlert() 

但在這裏卻是個例外,我得到的,我已經花了很多時間試圖解決這個問題,最終要尋求幫助!

不能與類的org.openqa.selenium.remote.RemoteWebDriver $ RemoteAlert「投對象[email protected]'上課 'javafx.scene.control.Alert' 組織.codehaus.groovy.runtime.typehandling.GroovyCastException:不能用類「org.openqa.selenium.remote.RemoteWebDriver $ RemoteAlert」投對象[email protected]'上課「javafx.scene .control.Alert在Pages.OperatorLoginPage.loginAlert」 (OperatorLoginPage.groovy:93)

而且,當我看着由蓋布所採取的屏幕截圖它看起來像,因爲即使是之前顯示的警告彈出發生此異常警報沒有顯示在失敗的s上tep,如果我在測試運行時監視屏幕,它永遠不會出現。

+0

您是否嘗試過使用Geb來處理警報? http://www.gebish.org/manual/0.9.1/javascript.html#alert –

回答

1

你似乎已經進口javafx.scene.control.Alert到您的類文件(我假設由IDE是太快了,只是接受它給你的第一項建議)

而且,爲什麼不使用Geb mechanism for alert handling