2012-12-21 247 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;