2015-04-05 47 views
-1

我有兩個或三個打開(在不同情況下)窗口,並試圖拋出異常開始下一個測試。
當我寫:如何拋出異常,當我打開兩個或三個窗口

throw new RuntimeException("anything"); 

新彈出的窗口中顯示的文字:「您正在查看正在試圖關閉窗口的網頁是否要關閉此窗口」和腳本停止。

瀏覽器:Internet Explorer 8
我知道,當我嘗試關閉窗口時,此窗口會顯示。

+1

顯示你當前的代碼,你如何試圖實現它你得表現出一定的努力同樣,我們不能幫助,如果我們不知道什麼時候創建新窗口 – 2015-04-05 04:46:06

+0

我無法理解這個問題。您是否嘗試處理彈出窗口? – LittlePanda 2015-04-05 05:57:45

+0

您的意思是窗口或選項卡? – Shamik 2015-04-06 06:41:29

回答

0

OK,添加我的代碼:

//my methods 
public static boolean switchToWindowAboutTitle(WebDriver driver, String title){ 
     String currentWindow = driver.getWindowHandle(); 
     Set<String> availableWindows = driver.getWindowHandles(); 
     try{ 
     if(!availableWindows.isEmpty()){ 
      for(String windowId : availableWindows){ 
       String switchedTitle = driver.switchTo().window(windowId).getTitle(); 
       if(switchedTitle.equals(title) || switchedTitle.contains(title)) 
        return true; 
       else{ 
        driver.switchTo().window(currentWindow); 
       } 
      } 
     } 
     }catch(NoSuchWindowException ignore){ 
      return false; 
     } 
     return false; 
    } 

//my code: 

//my main window -- window title: "Main" 
driver.switchTo().defaultContent(); 
driver.switchTo().frame("Main"); 

//click on button which open new window 
driver.findElement(byDetermineButton).click(); 

//window title: "Authorize" 
switchToWindowAboutTitle(driver, "Authorize"); 

new WebDriverWait(driver, 180).until(ExpectedConditions.elementToBeClickable(byProduct)); 
driver.findElement(byProduct).click(); 

try { 
           Thread.sleep(10000); 
          } catch (InterruptedException e) { 
           // TODO Auto-generated catch block 
           e.printStackTrace(); 
          } 
System.out.println(driver.getWindwHandles().size());  //show 3 
//after click when window size == 3 I'd like throw exception because this means that my product isn't available --> this third window show information about it. 
if(driver.getWindowHandles().size() == 3){ 
    throw new RuntimeException("test"); 
} 

當我執行代碼:拋出新的RuntimeException( 「測試」); Internet Explorer show alert: 「您正在查看的網頁正試圖關閉窗口。 要關閉此窗口嗎?」我有兩個選擇:是或否。

爲什麼我不能扔異常:(

相關問題