Class: AutomationObject::Driver::NokogiriAdapter::Driver
- Inherits:
-
Object
- Object
- AutomationObject::Driver::NokogiriAdapter::Driver
- Defined in:
- lib/automation_object/driver/nokogiri_adapter/driver.rb
Overview
Driver for Nokogiri Conforms to interface and provides Selenium type functionality for XML only functionality
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#accept_prompt ⇒ Object
Accept prompt either in browser or mobile.
- #back ⇒ Object
-
#browser? ⇒ Boolean
Check if browser, more useful for Appium but can be generic here.
-
#close ⇒ void
Close current window.
-
#dismiss_prompt ⇒ Object
Dismiss the prompt.
-
#document_complete? ⇒ Boolean
Run script in browser to check if document in JS is complete.
- #execute_script(script) ⇒ Object?
-
#exists?(selector_type, selector_path) ⇒ Boolean
Element exists?.
-
#find_element(selector_type, selector_path) ⇒ AutomationObject::Driver::Element
Element.
-
#find_elements(selector_type, selector_path) ⇒ Array<AutomationObject::Driver::Element>
Elements.
- #forward ⇒ Object
-
#get(url) ⇒ void
Navigates current window to a given url.
-
#initialize(*_args) ⇒ Driver
constructor
A new instance of Driver.
-
#inner_window_height ⇒ Float
Inner window height.
-
#quit ⇒ Object
Destroy the driver.
- #refresh ⇒ Object
-
#scroll_position ⇒ Point
X,y scroll position.
-
#title ⇒ String
Get the title of the document.
-
#wait(timeout = nil) ⇒ void
Set timeout wait.
-
#window_handle ⇒ String
Current window handle.
-
#window_handle=(handle_value) ⇒ Object
Set current window handle to, will switch windows.
-
#window_handles ⇒ Array<String>
Window Handles.
Constructor Details
Instance Attribute Details
#session ⇒ AutomationObject::Driver::NokogiriAdapter::Session
15 16 17 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 15 def session @session end |
Instance Method Details
#accept_prompt ⇒ Object
Accept prompt either in browser or mobile
95 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 95 def accept_prompt; end |
#back ⇒ Object
40 41 42 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 40 def back session.back end |
#browser? ⇒ Boolean
Check if browser, more useful for Appium but can be generic here
102 103 104 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 102 def browser? true end |
#close ⇒ void
This method returns an undefined value.
Close current window
36 37 38 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 36 def close session.close end |
#dismiss_prompt ⇒ Object
Dismiss the prompt
98 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 98 def dismiss_prompt; end |
#document_complete? ⇒ Boolean
Run script in browser to check if document in JS is complete
126 127 128 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 126 def document_complete? true end |
#execute_script(script) ⇒ Object?
132 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 132 def execute_script(script); end |
#exists?(selector_type, selector_path) ⇒ Boolean
Returns element exists?
65 66 67 68 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 65 def exists?(selector_type, selector_path) elements = get_elements(selector_type, selector_path) !elements.empty? ? true : false end |
#find_element(selector_type, selector_path) ⇒ AutomationObject::Driver::Element
Returns element
73 74 75 76 77 78 79 80 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 73 def find_element(selector_type, selector_path) elements = get_elements(selector_type, selector_path) raise NoSuchElementError if elements.length.zero? AutomationObject::Driver::Element.new( AutomationObject::Driver::NokogiriAdapter::Element.new(self, elements.first) ) end |
#find_elements(selector_type, selector_path) ⇒ Array<AutomationObject::Driver::Element>
Returns elements
85 86 87 88 89 90 91 92 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 85 def find_elements(selector_type, selector_path) elements = get_elements(selector_type, selector_path) elements.map do |element| AutomationObject::Driver::Element.new( AutomationObject::Driver::NokogiriAdapter::Element.new(self, element) ) end end |
#forward ⇒ Object
44 45 46 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 44 def forward session.forward end |
#get(url) ⇒ void
This method returns an undefined value.
Navigates current window to a given url
24 25 26 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 24 def get(url) session.request(:get, url) end |
#inner_window_height ⇒ Float
Returns inner window height
140 141 142 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 140 def inner_window_height 0 end |
#quit ⇒ Object
Destroy the driver
53 54 55 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 53 def quit session.quit end |
#refresh ⇒ Object
48 49 50 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 48 def refresh session.refresh end |
#scroll_position ⇒ Point
Returns x,y scroll position
135 136 137 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 135 def scroll_position Point.new(x: 0, y: 0) end |
#title ⇒ String
Get the title of the document
30 31 32 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 30 def title find_element(:xpath, '//title').text end |
#wait(timeout = nil) ⇒ void
This method returns an undefined value.
Set timeout wait
60 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 60 def wait(timeout = nil); end |
#window_handle ⇒ String
Current window handle
114 115 116 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 114 def window_handle session.window_handle end |
#window_handle=(handle_value) ⇒ Object
Set current window handle to, will switch windows
120 121 122 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 120 def window_handle=(handle_value) session.window_handle = handle_value end |
#window_handles ⇒ Array<String>
Window Handles
108 109 110 |
# File 'lib/automation_object/driver/nokogiri_adapter/driver.rb', line 108 def window_handles session.window_handles end |