2013-07-03 113 views
3

我试图捕获没有成功的弹出窗口的屏幕。如何使用Selenium WebDriver捕获弹出窗口的屏幕?

我使用“常规”捕捉屏幕下面的代码:

File scrFile = ((TakesScreenshot)alertDialog).getScreenshotAs(OutputType.FILE); 
FileUtils.copyFile(scrFile, new File("c:\\tmp\\screenshot.png")); 

当弹出窗口出现我想要捕捉的弹出式屏幕,我可怎么办呢?

public void checkPopup() throws IOException 
    { 
    Alert alertDialog = driver.switchTo().alert(); 
    File scrFile = ((TakesScreenshot)alertDialog).getScreenshotAs(OutputType.FILE); 
    FileUtils.copyFile(scrFile, new File("c:\\tmp\\screenshot.png")); 
    String alertText = alertDialog.getText(); 
    } 

回答

0

目前不可能。 Webdriver的屏幕截图例程仅适用于DOM;但警报存在于DOM之外,它是一个单独的窗口,屏幕截图例程无法包含它。

在Selenium的问题跟踪器中,问题已被报告并标记为“预期工作”:https://code.google.com/p/selenium/issues/detail?id=4412

相关问题