0

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

这是我的代码示例

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
4

3 回答 3

5

这应该这样做:

browser.screenshot.save 'screenshot.png'

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

于 2012-12-21T11:38:28.140 回答
0

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

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

这是我之前制作的一个工作示例。它做了类似的事情:

page.driver.render 'test.pdf'
于 2012-12-21T12:10:55.830 回答
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; 
于 2012-12-21T18:18:55.797 回答