【发布时间】:2016-01-05 17:58:18
【问题描述】:
我正在使用 Java 中的 Selenium 运行一系列自动化 GUI 测试。这些测试经常使用以下方法截取屏幕截图:
public static void takeScreenshot(String screenshotPathAndName, WebDriver driver) {
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
try {
FileUtils.copyFile(scrFile, new File(screenshotPathAndName));
} catch(Exception e) {
e.printStackTrace();
}
}
这在 Chrome 和 IE 中运行良好,但在 Firefox 中,我不断在屏幕截图下获得大片空白。我怀疑空白实际上是页面本身的一部分,但通常在浏览器中隐藏(滚动条在空白之前停止)。我做了一个快速测试
driver.get("http://stackoverflow.com/");
takeScreenshot("D:\\TestRuns\\stackoverflow.png", driver);
发现使用 Firefox 驱动时,屏幕截图中会捕获整个页面,而使用 Chrome 驱动时,只会捕获浏览器中显示的内容。
有什么方法可以强制 Firefox 驱动程序截取屏幕截图,其中只包含浏览器中实际可以看到的内容(实际用户会看到的内容)?
【问题讨论】:
标签: java selenium selenium-firefoxdriver