Class: Webrat::Selenium::SeleniumRCServer
- Includes:
- SilenceStream
- Defined in:
- lib/webrat/selenium/selenium_rc_server.rb
Class Method Summary collapse
Instance Method Summary collapse
- #boot ⇒ Object
- #fail ⇒ Object
- #jar_path ⇒ Object
- #remote_control ⇒ Object
- #selenium_grid? ⇒ Boolean
- #start ⇒ Object
- #stop ⇒ Object
- #stop_at_exit ⇒ Object
- #wait ⇒ Object
- #wait_for_socket ⇒ Object
Methods included from SilenceStream
Class Method Details
.boot ⇒ Object
8 9 10 |
# File 'lib/webrat/selenium/selenium_rc_server.rb', line 8 def self.boot new.boot end |
Instance Method Details
#boot ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/webrat/selenium/selenium_rc_server.rb', line 12 def boot return if selenium_grid? start wait stop_at_exit end |
#fail ⇒ Object
73 74 75 76 77 78 |
# File 'lib/webrat/selenium/selenium_rc_server.rb', line 73 def fail $stderr.puts $stderr.puts $stderr.puts "==> Failed to boot the Selenium RC server... exiting!" exit end |
#jar_path ⇒ Object
46 47 48 |
# File 'lib/webrat/selenium/selenium_rc_server.rb', line 46 def jar_path File.(__FILE__ + "../../../../../vendor/selenium-server.jar") end |
#remote_control ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/webrat/selenium/selenium_rc_server.rb', line 34 def remote_control return @remote_control if @remote_control @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 @remote_control.additional_args << "-singleWindow" if Webrat.configuration.selenium_use_single_window return @remote_control end |
#selenium_grid? ⇒ Boolean
50 51 52 |
# File 'lib/webrat/selenium/selenium_rc_server.rb', line 50 def selenium_grid? Webrat.configuration.selenium_server_address end |
#start ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/webrat/selenium/selenium_rc_server.rb', line 20 def start silence_stream(STDERR) do silence_stream(STDOUT) do remote_control.start :background => true end end end |
#stop ⇒ Object
80 81 82 83 84 85 86 |
# File 'lib/webrat/selenium/selenium_rc_server.rb', line 80 def stop silence_stream(STDERR) do silence_stream(STDOUT) do ::Selenium::RemoteControl::RemoteControl.new("0.0.0.0", Webrat.configuration.selenium_server_port, 5).stop end end end |
#stop_at_exit ⇒ Object
28 29 30 31 32 |
# File 'lib/webrat/selenium/selenium_rc_server.rb', line 28 def stop_at_exit at_exit do stop end end |
#wait ⇒ Object
54 55 56 57 58 59 60 |
# File 'lib/webrat/selenium/selenium_rc_server.rb', line 54 def wait $stderr.print "==> Waiting for Selenium RC server on port #{Webrat.configuration.selenium_server_port}... " wait_for_socket $stderr.print "Ready!\n" rescue SocketError fail end |
#wait_for_socket ⇒ Object
62 63 64 65 66 67 68 69 70 71 |
# File 'lib/webrat/selenium/selenium_rc_server.rb', line 62 def wait_for_socket silence_stream(STDERR) do silence_stream(STDOUT) do TCPSocket.wait_for_service_with_timeout \ :host => (Webrat.configuration.selenium_server_address || "0.0.0.0"), :port => Webrat.configuration.selenium_server_port, :timeout => 15 # seconds end end end |