watir-webdriver黑色截图

时间:2011-11-01 17:33:42

标签: webdriver watir watir-webdriver

我正在使用watir-webdriver浏览我的网站,并在不同的浏览器中抓取屏幕截图。

有时,在IE中截取的屏幕截图显示正确的大小,但颜色完全是黑色。同时运行的firefox测试看起来很好。

browser.driver.save_screenshot(screenshot_dir)

一旦我远程桌面到运行测试的计算机,IE屏幕截图看起来还不错。离开远程桌面后,IE屏幕截图再次变黑。

我正在运行ec2的Windows Server实例上运行这些测试。

3 个答案:

答案 0 :(得分:5)

根据您的评论远程访问机器解决问题一段时间...禁用该框上的屏幕保护程序。我不确定IE和FF上的屏幕截图功能如何(如果有的话)不同,但值得花时间来测试更改。

编辑:我仍然觉得它的窗口/电源设置相关,因为你登录框似乎有效果,但我不知道具体可能是什么。我在vvv下尝试了一种程序化方法。

答案 1 :(得分:1)

根据您的说法,听起来Windows系统会自动锁定,就像它应该的那样。这可以解释为什么屏幕截图在远程进入时工作正常,然后在屏幕保护程序启动并锁定系统几分钟后再进行黑屏。

如果Windows系统被锁定,屏幕截图将被遮挡。这是Windows安全功能。

我很想知道FF是否确实在锁定的系统上进行屏幕捕获。

答案 2 :(得分:0)

这是我用来捕捉截图的代码(Watir-Webdriver,Cucumber)。我将远程Windows XP VM用于我的测试盒,并且没有使用Firefox或Internet Explorer遇到此问题。

我们确实发现当您使用嵌入式屏幕截图查看日志时,它似乎无法在IE中运行 - 因此您必须使用Firefox进行查看。它是base64,因此似乎没有合理的理由。

After do |scenario|
   if scenario.failed?
      encoded_img = @browser.driver.screenshot_as(:base64)
      embed("data:image/png;base64,#{encoded_img}", 'image/png') 
   end #
end