Selenium screenshots using rspec
        Posted  
        
            by Thomas Albright
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Thomas Albright
        
        
        
        Published on 2009-11-30T17:25:21Z
        Indexed on 
            2010/04/27
            1:53 UTC
        
        
        Read the original article
        Hit count: 799
        
I am trying to capture screenshots on test failure using selenium-client and rspec. I run this command:
$ spec my_spec.rb \
--require 'rubygems,selenium/rspec/reporting/selenium_test_report_formatter' \
--format=Selenium::RSpec::SeleniumTestReportFormatter:./report.html
It creates the report correctly when everything passes, since no screenshots are required. However, when the test fails, I get this message, and the report has blank screenshots:
WARNING: Could not capture HTML snapshot: execution expired
WARNING: Could not capture page screenshot: execution expired
WARNING: Could not capture system screenshot: execution expired
Problem while capturing system stateexecution expired
What is causing this 'execution expired' error? Am I missing something important in my spec? Here is the code for my_spec.rb:
require 'rubygems'
gem "rspec", "=1.2.8"
gem "selenium-client"
require "selenium/client"
require "selenium/rspec/spec_helper"
describe "Databases" do
    attr_reader :selenium_driver
    alias :page :selenium_driver
  before(:all) do
      @selenium_driver = Selenium::Client::Driver.new \
          :host => "192.168.0.10",
          :port => 4444,
          :browser => "*firefox",
          :url => "http://192.168.0.11/",
          :timeout_in_seconds => 10
  end
  before(:each) do
    @selenium_driver.start_new_browser_session
  end
  # The system capture need to happen BEFORE closing the Selenium session
  append_after(:each) do
    @selenium_driver.close_current_browser_session
  end
  it "backed up" do
    page.open "/SQLDBDetails.aspx
    page.click "btnBackup", :wait_for => :page
    page.text?("Pending Backup").should be_true
  end
end
© Stack Overflow or respective owner