class Selenium::WebDriver::IE::Server
Constants
- STOP_TIMEOUT
Attributes
log_file[RW]
log_level[RW]
Public Class Methods
get(opts = {})
click to toggle source
# File lib/selenium/webdriver/ie/server.rb, line 8 def self.get(opts = {}) binary = IE.driver_path || Platform.find_binary("IEDriverServer") if binary new binary, opts else raise Error::WebDriverError, "Unable to find standalone executable. Please download the IEDriverServer from http://selenium-release.storage.googleapis.com/index.html and place the executable on your PATH." end end
new(binary_path, opts = {})
click to toggle source
# File lib/selenium/webdriver/ie/server.rb, line 21 def initialize(binary_path, opts = {}) Platform.assert_executable binary_path @binary_path = binary_path @process = nil opts = opts.dup @log_level = opts.delete(:log_level) @log_file = opts.delete(:log_file) @implementation = opts.delete(:implementation) unless opts.empty? raise ArgumentError, "invalid option#{'s' if opts.size != 1}: #{opts.inspect}" end end
Public Instance Methods
port()
click to toggle source
# File lib/selenium/webdriver/ie/server.rb, line 63 def port @port end
running?()
click to toggle source
# File lib/selenium/webdriver/ie/server.rb, line 71 def running? @process && @process.alive? end
start(port, timeout)
click to toggle source
# File lib/selenium/webdriver/ie/server.rb, line 39 def start(port, timeout) return @port if running? @port = port @process = ChildProcess.new(@binary_path, *server_args) @process.io.inherit! if $DEBUG @process.start unless SocketPoller.new(Platform.localhost, @port, timeout).connected? raise Error::WebDriverError, "unable to connect to IE server within #{timeout} seconds" end Platform.exit_hook { stop } @port end
stop()
click to toggle source
# File lib/selenium/webdriver/ie/server.rb, line 57 def stop if running? @process.stop STOP_TIMEOUT end end
uri()
click to toggle source
# File lib/selenium/webdriver/ie/server.rb, line 67 def uri "http://#{Platform.localhost}:#{port}" end
Private Instance Methods
server_args()
click to toggle source
# File lib/selenium/webdriver/ie/server.rb, line 77 def server_args args = ["--port=#{@port}"] args << "--log-level=#{@log_level.to_s.upcase}" if @log_level args << "--log-file=#{@log_file}" if @log_file args << "--implementation=#{@implementation.to_s.upcase}" if @implementation args end