使用Selenium WebDrivers在加载页面时截取屏幕截图

时间:2011-12-20 18:08:44

标签: selenium webdriver performance-testing webpage-screenshot

我已经开始使用Selenium WebDrivers来自动执行一些性能测试。我发现在使用WebDrivers完成加载页面后,我们可以截取页面的屏幕截图:http://seleniumhq.org/docs/04_webdriver_advanced.html#taking-a-screenshot。但是,我希望能够在页面加载时截取屏幕截图以分析其加载时间和模式,就像网页测试所做的那样(http://www.webpagetest.org/)。是否有可以使用WebDrivers来完成此任务的API?

我正在使用FirefoxWebDriver和Java客户端。我感谢您的帮助或提示。

谢谢!

1 个答案:

答案 0 :(得分:1)

因为,我发现RemoteWebDriver的get调用是阻塞的,甚至getScreenshot调用都是阻塞的,我决定在单独的线程中运行java.awt.Robot并在WebDriver加载页面时捕获截图。

唯一需要注意的是,WebDriver打开的浏览器实例必须位于屏幕的前面才能正确拍摄快照。我正在探索如果Robot可以在Xvfb显示器上拍摄快照,这将是非常棒的,并且可以用于我的目的。