捕获屏幕截图

时间:2012-12-21 11:08:27

标签: ruby webdriver watir

当测试失败时,我无法弄清楚如何捕获屏幕截图。请帮忙/举例?

以下是我的代码的例子

testName =  "Entered 000000 - Invalid Unit Number"    
browser.text_field(:name => 'unitNumber').set '000000'
browser.button(:name => "OpRetrieve").click
message=browser.text_field(:id => 'messages').text
if message == "Invalid Unit Number"
  f1.puts "PASSED #" + testId.to_s + ": " + testName
else
   f1.puts "FAILED #" + testId.to_s + ": " + testName + ". Message: " + message
   "Capturd screenshot"
end
testId=testId+1

3 个答案:

答案 0 :(得分:5)

这应该这样做:

browser.screenshot.save 'screenshot.png'

有关详细信息,请参阅http://watir.github.io/docs/screenshots/

答案 1 :(得分:0)

这适用于phantomjs,我想它应该适用于任何驱动程序。

browser.driver.screenshot.save 'wtf.png'

Here's a working example I made before.它的确如下:

page.driver.render 'test.pdf'

答案 2 :(得分:0)

你也可以这样做。

 File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);  
 FileUtils.copyFile(scrFile, new File("C:\\screenShot1.png"));  

使用这些,你需要在类下面导入

import org.apache.commons.io.FileUtils;
import org.openqa.selenium.TakesScreenshot;