Class: TestingBot::SeleniumWebdriver

Inherits:
Object
  • Object
show all
Defined in:
lib/testingbot/selenium.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ SeleniumWebdriver

Returns a new instance of SeleniumWebdriver.



14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/testingbot/selenium.rb', line 14

def initialize(options = {})
  @options = TestingBot::get_config.options
  @options = @options.merge(options)

  http_client = ::Selenium::WebDriver::Remote::Http::Persistent.new
  if ENV['TESTINGBOT_CLIENT_PROXY']
    require 'ostruct'
    http_client.proxy = OpenStruct.new(:http => ENV['TESTINGBOT_CLIENT_PROXY'])
  end
  http_client.timeout = 400
  @driver = ::Selenium::WebDriver.for(:remote, :url => "http://#{@options[:client_key]}:#{@options[:client_secret]}@#{@options[:host]}:#{@options[:port]}/wd/hub", :desired_capabilities => @options[:desired_capabilities], :http_client => http_client)
  http_client.timeout = 120
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(meth, *args) ⇒ Object



28
29
30
# File 'lib/testingbot/selenium.rb', line 28

def method_missing(meth, *args)
  @driver.send(meth, *args)
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



11
12
13
# File 'lib/testingbot/selenium.rb', line 11

def config
  @config
end

#driverObject (readonly)

Returns the value of attribute driver.



11
12
13
# File 'lib/testingbot/selenium.rb', line 11

def driver
  @driver
end

#session_id_backupObject

Returns the value of attribute session_id_backup.



12
13
14
# File 'lib/testingbot/selenium.rb', line 12

def session_id_backup
  @session_id_backup
end

Instance Method Details

#session_idObject



32
33
34
# File 'lib/testingbot/selenium.rb', line 32

def session_id
  @driver.send(:bridge).session_id
end

#stopObject



36
37
38
39
# File 'lib/testingbot/selenium.rb', line 36

def stop
  @session_id_backup = session_id
  @driver.quit
end