2012-12-21 191 views
0

我无法弄清楚如何在watir测试失败时捕获屏幕截图。请任何帮助/例子?捕获屏幕截图

这里是我的代码的exaample

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 

回答

5

这应做到:

browser.screenshot.save 'screenshot.png' 

欲了解更多信息,请参阅http://watir.github.io/docs/screenshots/

+0

您好我尝试过,但我得到的'<顶部(需要)>的错误消息”‘:未定义的方法'截图’为#(NoMethodError)“。对不起,我第一次尝试使用它。 – Sal

+1

根据你的例外情况,它看起来像你正在使用watir-classic(而不是watir-webdriver)。你使用什么版本?截图API在3.1.0中添加。 –

+0

红宝石1.9.3p0(2011-10-30)[i386-mingw32]和宝石1.8.18我该如何检查截图API是否被添加?我如何添加它? – Sal

0

可以实现这样也。

​​

使用这些需要导入下面的类

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