diff --git a/History.txt b/History.txt index e2acd71..de6283f 100644 --- a/History.txt +++ b/History.txt @@ -11,6 +11,7 @@ * Filled in tests on click link lh 195 (diabolo) * Added current_url to selenium session lh 215 (Luke Amdor) * Added silence spec to selenium lh 238 (Martin Gamsjaeger aka snusnu) + * Added ability to configure the browser startup timeout for selenium lh 242 (Mike Gaffney) == 0.4.4 / 2009-04-06 diff --git a/lib/webrat/core/configuration.rb b/lib/webrat/core/configuration.rb index 33d274f..bde214c 100755 --- a/lib/webrat/core/configuration.rb +++ b/lib/webrat/core/configuration.rb @@ -53,6 +53,9 @@ module Webrat # Set the key that Selenium uses to determine the browser running. Default *firefox attr_accessor :selenium_browser_key + + # Set the timeout for waiting for the browser process to start + attr_accessor :selenium_browser_startup_timeout # How many redirects to the same URL should be halted as an infinite redirect # loop? Defaults to 10 @@ -68,6 +71,7 @@ module Webrat self.selenium_server_port = 4444 self.infinite_redirect_limit = 10 self.selenium_browser_key = '*firefox' + self.selenium_browser_startup_timeout = 5 end def parse_with_nokogiri? #:nodoc: diff --git a/lib/webrat/selenium/selenium_rc_server.rb b/lib/webrat/selenium/selenium_rc_server.rb index 735adf6..4148b53 100644 --- a/lib/webrat/selenium/selenium_rc_server.rb +++ b/lib/webrat/selenium/selenium_rc_server.rb @@ -32,7 +32,9 @@ module Webrat def remote_control return @remote_control if @remote_control - @remote_control = ::Selenium::RemoteControl::RemoteControl.new("0.0.0.0", Webrat.configuration.selenium_server_port, 5) + @remote_control = ::Selenium::RemoteControl::RemoteControl.new("0.0.0.0", + Webrat.configuration.selenium_server_port, + Webrat.configuration.selenium_browser_startup_timeout) @remote_control.jar_file = jar_path return @remote_control diff --git a/spec/private/core/configuration_spec.rb b/spec/private/core/configuration_spec.rb index 9180216..0a9d069 100755 --- a/spec/private/core/configuration_spec.rb +++ b/spec/private/core/configuration_spec.rb @@ -92,6 +92,15 @@ describe Webrat::Configuration do it 'should default selenium browser key to *firefox' do @config.selenium_browser_key.should == '*firefox' end + + it 'should default selenium browser startup timeout to 5 seconds' do + @config.selenium_browser_startup_timeout.should == 5 + end + + it 'should allow overriding of the browser startup timeout' do + @config.selenium_browser_startup_timeout = 10 + @config.selenium_browser_startup_timeout.should == 10 + end end end