Class: AutomationObject::Driver::NokogiriAdapter::Session
- Inherits:
-
Object
- Object
- AutomationObject::Driver::NokogiriAdapter::Session
- Defined in:
- lib/automation_object/driver/nokogiri_adapter/session.rb
Overview
Class for creating/maintaining XML session Trying to replicate some functionality of Selenium like multiple windows, etc...
Instance Method Summary collapse
- #back ⇒ Object
- #close ⇒ Object
-
#current_url ⇒ String
Current URL.
- #forward ⇒ Object
-
#initialize ⇒ Session
constructor
A new instance of Session.
-
#quit ⇒ Object
Just reset the session.
- #refresh ⇒ Object
-
#request(type, url, params = {}, blank = false) ⇒ void
Request url, will set xml to current window handle.
-
#window_handle ⇒ String
Current window handle.
-
#window_handle=(handle_value) ⇒ Object
Switch window handles.
-
#window_handles ⇒ Array<String>
Window handles.
- #xml ⇒ Object
Constructor Details
Instance Method Details
#back ⇒ Object
65 66 67 68 |
# File 'lib/automation_object/driver/nokogiri_adapter/session.rb', line 65 def back return if @windows[@position].nil? @windows[@position].back end |
#close ⇒ Object
80 81 82 83 84 85 86 |
# File 'lib/automation_object/driver/nokogiri_adapter/session.rb', line 80 def close # Reset session if only one window quit if @windows.length == 1 @windows.delete_at(@position) @position -= 1 if @position.positive? end |
#current_url ⇒ String
Returns current URL
34 35 36 37 |
# File 'lib/automation_object/driver/nokogiri_adapter/session.rb', line 34 def current_url return nil if @windows[@position].nil? @windows[@position].current_url end |
#forward ⇒ Object
70 71 72 73 |
# File 'lib/automation_object/driver/nokogiri_adapter/session.rb', line 70 def forward return if @windows[@position].nil? @windows[@position].forward end |
#quit ⇒ Object
Just reset the session
89 90 91 |
# File 'lib/automation_object/driver/nokogiri_adapter/session.rb', line 89 def quit @windows = [Window.new] end |
#refresh ⇒ Object
75 76 77 78 |
# File 'lib/automation_object/driver/nokogiri_adapter/session.rb', line 75 def refresh return if @windows[@position].nil? @windows[@position].refresh end |
#request(type, url, params = {}, blank = false) ⇒ void
This method returns an undefined value.
Request url, will set xml to current window handle
56 57 58 59 60 61 62 63 |
# File 'lib/automation_object/driver/nokogiri_adapter/session.rb', line 56 def request(type, url, params = {}, blank = false) if blank @windows.push(Window.new) @position = @windows.length - 1 end @windows[@position].request(type, url, params) end |
#window_handle ⇒ String
Returns current window handle
28 29 30 31 |
# File 'lib/automation_object/driver/nokogiri_adapter/session.rb', line 28 def window_handle return nil if @windows[@position].nil? @windows[@position].handle end |
#window_handle=(handle_value) ⇒ Object
Switch window handles
41 42 43 44 45 46 47 48 |
# File 'lib/automation_object/driver/nokogiri_adapter/session.rb', line 41 def window_handle=(handle_value) raise NoSuchWindowError unless window_handles.include?(handle_value) @position = 0 @windows.each_with_index do |index, window| @position = index if window.handle == handle_value end end |
#window_handles ⇒ Array<String>
Returns window handles
23 24 25 |
# File 'lib/automation_object/driver/nokogiri_adapter/session.rb', line 23 def window_handles @windows.map(&:handle) end |
#xml ⇒ Object
17 18 19 20 |
# File 'lib/automation_object/driver/nokogiri_adapter/session.rb', line 17 def xml return nil if @windows[@position].nil? @windows[@position].xml end |