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
68 69 70 71 72 73 |
# File 'lib/webrat/selenium/selenium_rc_server.rb', line 68 def fail $stderr.puts $stderr.puts $stderr.puts "==> Failed to boot the Selenium RC server... exiting!" exit end |
#jar_path ⇒ Object
43 44 45 |
# File 'lib/webrat/selenium/selenium_rc_server.rb', line 43 def jar_path File.(__FILE__ + "../../../../../vendor/selenium-server.jar") end |
#remote_control ⇒ Object
32 33 34 35 36 37 38 39 40 41 |
# File 'lib/webrat/selenium/selenium_rc_server.rb', line 32 def remote_control return @remote_control if @remote_control @remote_control = ::Selenium::RemoteControl::RemoteControl.new("0.0.0.0", Webrat.configuration.selenium_server_port, :timeout => Webrat.configuration.selenium_browser_startup_timeout) @remote_control.jar_file = jar_path return @remote_control end |
#selenium_grid? ⇒ Boolean
47 48 49 |
# File 'lib/webrat/selenium/selenium_rc_server.rb', line 47 def selenium_grid? Webrat.configuration.selenium_server_address end |
#start ⇒ Object
20 21 22 23 24 |
# File 'lib/webrat/selenium/selenium_rc_server.rb', line 20 def start silence_stream(STDOUT) do remote_control.start :background => true end end |
#stop ⇒ Object
75 76 77 78 79 80 81 |
# File 'lib/webrat/selenium/selenium_rc_server.rb', line 75 def stop silence_stream(STDOUT) do ::Selenium::RemoteControl::RemoteControl.new("0.0.0.0", Webrat.configuration.selenium_server_port, :timeout => 5).stop end end |
#stop_at_exit ⇒ Object
26 27 28 29 30 |
# File 'lib/webrat/selenium/selenium_rc_server.rb', line 26 def stop_at_exit at_exit do stop end end |
#wait ⇒ Object
51 52 53 54 55 56 57 |
# File 'lib/webrat/selenium/selenium_rc_server.rb', line 51 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
59 60 61 62 63 64 65 66 |
# File 'lib/webrat/selenium/selenium_rc_server.rb', line 59 def wait_for_socket 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 => 45 # seconds end end |