Class: SeleniumDSL::SeleniumClient::DSL

Inherits:
Object
  • Object
show all
Includes:
SeleniumHelper
Defined in:
lib/selenium_dsl/selenium_client/dsl.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from SeleniumHelper

#construct_selenium_url

Constructor Details

#initialize(selenium_host, selenium_port, browser, webapp_url, capabilities = {}) ⇒ DSL

Returns a new instance of DSL.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/selenium_dsl/selenium_client/dsl.rb', line 12

def initialize(selenium_host, selenium_port, browser, webapp_url, capabilities={})
  @selenium = Selenium::Client::Driver.new \
  :host => selenium_host,
  :port => selenium_port.to_i,
  :browser => "*webdriver",
  :url => webapp_url

  @driver = Selenium::WebDriver.for :remote,
                                    :url => construct_selenium_url(selenium_host, selenium_port),
                                    :desired_capabilities => browser.to_sym

  @driver.capabilities.merge(capabilities) unless capabilities.empty?

  @script = SeleniumDSL::SeleniumClient::Script.new @selenium, @driver
end

Instance Attribute Details

#driverObject (readonly)

Returns the value of attribute driver.



10
11
12
# File 'lib/selenium_dsl/selenium_client/dsl.rb', line 10

def driver
  @driver
end

#scriptObject (readonly)

Returns the value of attribute script.



10
11
12
# File 'lib/selenium_dsl/selenium_client/dsl.rb', line 10

def script
  @script
end

Instance Method Details

#selenium_client(&block) ⇒ Object



43
44
45
46
47
# File 'lib/selenium_dsl/selenium_client/dsl.rb', line 43

def selenium_client(&block)
  @script.instance_eval(&block)

  @script
end

#startObject



32
33
34
35
# File 'lib/selenium_dsl/selenium_client/dsl.rb', line 32

def start
  #@selenium.start_new_browser_session
  @selenium.start :driver => @driver
end

#stopObject



37
38
39
40
41
# File 'lib/selenium_dsl/selenium_client/dsl.rb', line 37

def stop
  #@selenium.close_current_browser_session
  @driver.quit
  @selenium.stop
end

#timeout_in_seconds=(timeout_in_seconds) ⇒ Object



28
29
30
# File 'lib/selenium_dsl/selenium_client/dsl.rb', line 28

def timeout_in_seconds= timeout_in_seconds
  @script.timeout_in_seconds = timeout_in_seconds
end