2011-07-08 10 views
1

私はポップアップのスクリーンショットを取るセレン2にテストスクリプトを書いています。ポップアップウィンドウはpdfです。ポップアップウィンドウにフォーカスを切り替えてスクリーンショットを撮る

リンクをクリックした後、私はスクリーンショットを撮るには、コード

try { 
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); 
FileUtils.copyFile(scrFile, new File("c:\\tmp\\screenshot.png")); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
} 

を使用しています、しかし、それだけでポップアップウィンドウのメインページのショットを取り、ありません。セレン2を持ち、新しいポップアップにフォーカスを移し、スクリーンショットを撮ってから、ポップアップを閉じてメインウィンドウに戻る方法がありますか?あなたはこのようなもので、ドライバのフォーカスを切り替えて

答えて

0

:あなたがそれらの多くを得た場合

String mainWindow = driver.getWindowHandle(); 
for (String handle : driver.getWindowHandles()) { 
    if (!handle.equals(mainWindow)) { 
     driver.switchTo().window(handle) 
     //put your screenshot call here 
     driver.close(); 
     driver.switchTo().window(mainWindow); 
    } 
} 

このコースのは、他のすべてのウィンドウのスクリーンショットを取ります。次に、正確なウィンドウハンドルを知って、それに切り替えます。

関連する問題