Class: Selenium::SeleniumServer
- Inherits:
-
Object
- Object
- Selenium::SeleniumServer
- Defined in:
- lib/selenium/selenium_server.rb
Overview
Selenium server driver that provides API to start/stop server and check if server is running. NOTE: The start does not return until the server shuts down.
Instance Attribute Summary collapse
-
#port_number ⇒ Object
readonly
Returns the value of attribute port_number.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(port_number = 4444) ⇒ SeleniumServer
constructor
Initialize the server driver with an opitonal port number (default to 4444).
-
#running? ⇒ Boolean
Check if the Selenium is running by sending a test_complete command with invalid session ID.
-
#start ⇒ Object
Starts the Selenium server.
-
#stop ⇒ Object
Stops the Selenium server.
Constructor Details
#initialize(port_number = 4444) ⇒ SeleniumServer
Initialize the server driver with an opitonal port number (default to 4444)
25 26 27 |
# File 'lib/selenium/selenium_server.rb', line 25 def initialize(port_number = 4444) @port_number = port_number end |
Instance Attribute Details
#port_number ⇒ Object (readonly)
Returns the value of attribute port_number.
22 23 24 |
# File 'lib/selenium/selenium_server.rb', line 22 def port_number @port_number end |
Class Method Details
.run(argv) ⇒ Object
9 10 11 12 13 14 |
# File 'lib/selenium/selenium_server.rb', line 9 def SeleniumServer::run(argv) jar_file = SeleniumServer.jar_file command = "java -jar #{jar_file} #{argv.join(' ')}" puts command system(command) end |
Instance Method Details
#running? ⇒ Boolean
Check if the Selenium is running by sending a test_complete command with invalid session ID
40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/selenium/selenium_server.rb', line 40 def running? url = URI.parse("http://localhost:#{@port_number}/selenium-server/driver/?cmd=testComplete&sessionId=smoketest") request = Net::HTTP::Get.new(url.path) begin res = Net::HTTP.start(url.host, url.port) {|http| http.read_timeout=5 http.request(request) } puts "response: #{res}" rescue Errno::EBADF => e return false end return true end |
#start ⇒ Object
Starts the Selenium server. This does not return until the server is shutdown.
30 31 32 |
# File 'lib/selenium/selenium_server.rb', line 30 def start SeleniumServer.run(['-port', port_number.to_s]) end |
#stop ⇒ Object
Stops the Selenium server
35 36 37 |
# File 'lib/selenium/selenium_server.rb', line 35 def stop Net::HTTP.get('localhost', '/selenium-server/driver/?cmd=shutDown', @port_number) end |