Class: Teber::Locator
- Inherits:
-
Object
- Object
- Teber::Locator
- Defined in:
- lib/teber/locator.rb
Instance Attribute Summary collapse
-
#how ⇒ Object
Returns the value of attribute how.
-
#options ⇒ Object
Returns the value of attribute options.
-
#what ⇒ Object
Returns the value of attribute what.
Class Method Summary collapse
Instance Method Summary collapse
- #attribute(name, driver = $focus_driver) ⇒ Object
- #check(driver = $focus_driver) ⇒ Object
-
#clear(driver = $focus_driver) ⇒ Object
Text box methods.
- #clear_and_send_keys(*args) ⇒ Object
- #click(driver = $focus_driver) ⇒ Object
- #click_if_present(driver = $focus_driver) ⇒ Object
- #click_if_present_with_wait(timeout = , driver = $focus_driver) ⇒ Object
- #count(driver = $focus_driver) ⇒ Object
- #css_value(prop, driver = $focus_driver) ⇒ Object
- #displayed?(driver = $focus_driver) ⇒ Boolean
- #enabled?(driver = $focus_driver) ⇒ Boolean
- #get_element(driver = $focus_driver) ⇒ Object
- #get_value(driver = $focus_driver) ⇒ Object
- #hash(driver = $focus_driver) ⇒ Object
-
#initialize(how, what, options = { "hidden" => false, "ajax_load" => false, }) ⇒ Locator
constructor
A new instance of Locator.
-
#is_checked?(driver = $focus_driver) ⇒ Boolean
Check box methods.
- #is_enabled_with_wait?(timeout = , driver = $focus_driver) ⇒ Boolean
- #is_not_present?(driver = $focus_driver) ⇒ Boolean
- #is_not_present_with_wait?(timeout = , driver = $focus_driver) ⇒ Boolean
- #is_present?(driver = $focus_driver) ⇒ Boolean
- #is_present_with_wait?(timeout = , driver = $focus_driver) ⇒ Boolean
- #location(driver = $focus_driver) ⇒ Object
- #location_once_scrolled_into_view(driver = $focus_driver) ⇒ Object
- #mouse_over(index = 1, driver = $focus_driver) ⇒ Object
- #move_and_click(driver = $focus_driver) ⇒ Object
- #property(driver = $focus_driver) ⇒ Object
- #scroll_to_locator(driver = $focus_driver) ⇒ Object
- #selected?(driver = $focus_driver) ⇒ Boolean
- #send_keys(*args) ⇒ Object
- #size(driver = $focus_driver) ⇒ Object
- #style(prop, driver = $focus_driver) ⇒ Object
- #submit(driver = $focus_driver) ⇒ Object
- #tag_name(driver = $focus_driver) ⇒ Object
- #text(driver = $focus_driver) ⇒ Object
- #texts(driver = $focus_driver) ⇒ Object
- #to_s ⇒ Object
- #uncheck(driver = $focus_driver) ⇒ Object
Constructor Details
#initialize(how, what, options = { "hidden" => false, "ajax_load" => false, }) ⇒ Locator
Returns a new instance of Locator.
7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/teber/locator.rb', line 7 def initialize( how, what, = { "hidden" => false, "ajax_load" => false, }) @how = how @what = what @options = end |
Instance Attribute Details
#how ⇒ Object
Returns the value of attribute how.
3 4 5 |
# File 'lib/teber/locator.rb', line 3 def how @how end |
#options ⇒ Object
Returns the value of attribute options.
5 6 7 |
# File 'lib/teber/locator.rb', line 5 def @options end |
#what ⇒ Object
Returns the value of attribute what.
4 5 6 |
# File 'lib/teber/locator.rb', line 4 def what @what end |
Class Method Details
.mouse_over(element, driver = $focus_driver) ⇒ Object
19 20 21 |
# File 'lib/teber/locator.rb', line 19 def self.mouse_over(element, driver = $focus_driver) driver.action.move_to(element).perform end |
Instance Method Details
#attribute(name, driver = $focus_driver) ⇒ Object
45 46 47 |
# File 'lib/teber/locator.rb', line 45 def attribute(name, driver = $focus_driver) driver.find_element(self).attribute(name) end |
#check(driver = $focus_driver) ⇒ Object
175 176 177 |
# File 'lib/teber/locator.rb', line 175 def check(driver = $focus_driver) self.click unless self.is_checked? end |
#clear(driver = $focus_driver) ⇒ Object
Text box methods
187 188 189 |
# File 'lib/teber/locator.rb', line 187 def clear(driver = $focus_driver) driver.find_element(self).clear end |
#clear_and_send_keys(*args) ⇒ Object
195 196 197 198 |
# File 'lib/teber/locator.rb', line 195 def clear_and_send_keys(*args) clear($focus_driver) send_keys(*args) end |
#click(driver = $focus_driver) ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/teber/locator.rb', line 23 def click(driver = $focus_driver) begin driver.find_element(self).click puts "Clicked - #{self.how} => #{self.what}" rescue Exception => e puts "Not clicked at - #{self.how} => #{self.what}" puts e. end end |
#click_if_present(driver = $focus_driver) ⇒ Object
141 142 143 |
# File 'lib/teber/locator.rb', line 141 def click_if_present(driver = $focus_driver) click(driver) if is_present?(driver) end |
#click_if_present_with_wait(timeout = , driver = $focus_driver) ⇒ Object
145 146 147 |
# File 'lib/teber/locator.rb', line 145 def click_if_present_with_wait(timeout = $conf["implicit_wait"], driver = $focus_driver) click(driver) if is_present_with_wait?(timeout, driver) end |
#count(driver = $focus_driver) ⇒ Object
106 107 108 109 |
# File 'lib/teber/locator.rb', line 106 def count(driver = $focus_driver) element_list = driver.find_elements(self) return element_list.count end |
#css_value(prop, driver = $focus_driver) ⇒ Object
49 50 51 |
# File 'lib/teber/locator.rb', line 49 def css_value(prop, driver = $focus_driver) driver.find_element(self).css_value(prop) end |
#displayed?(driver = $focus_driver) ⇒ Boolean
53 54 55 |
# File 'lib/teber/locator.rb', line 53 def displayed?(driver = $focus_driver) driver.find_element(self).displayed? end |
#enabled?(driver = $focus_driver) ⇒ Boolean
57 58 59 |
# File 'lib/teber/locator.rb', line 57 def enabled?(driver = $focus_driver) driver.find_element(self).enabled? end |
#get_element(driver = $focus_driver) ⇒ Object
163 164 165 |
# File 'lib/teber/locator.rb', line 163 def get_element(driver = $focus_driver) driver.find_element(self) end |
#get_value(driver = $focus_driver) ⇒ Object
200 201 202 |
# File 'lib/teber/locator.rb', line 200 def get_value(driver = $focus_driver) driver.find_element(self).attribute("value") end |
#hash(driver = $focus_driver) ⇒ Object
74 75 76 |
# File 'lib/teber/locator.rb', line 74 def hash(driver = $focus_driver) driver.find_element(self).hash end |
#is_checked?(driver = $focus_driver) ⇒ Boolean
Check box methods
171 172 173 |
# File 'lib/teber/locator.rb', line 171 def is_checked?(driver = $focus_driver) self.attribute("checked") == "true" end |
#is_enabled_with_wait?(timeout = , driver = $focus_driver) ⇒ Boolean
61 62 63 64 65 66 67 68 |
# File 'lib/teber/locator.rb', line 61 def is_enabled_with_wait?(timeout = $conf["implicit_wait"], driver = $focus_driver) index = 0 while driver.find_element(self).enabled? == false sleep 1 break if index == timeout index += 1 end end |
#is_not_present?(driver = $focus_driver) ⇒ Boolean
127 128 129 |
# File 'lib/teber/locator.rb', line 127 def is_not_present?(driver = $focus_driver) return !is_present?(driver) end |
#is_not_present_with_wait?(timeout = , driver = $focus_driver) ⇒ Boolean
136 137 138 139 |
# File 'lib/teber/locator.rb', line 136 def is_not_present_with_wait?(timeout = $conf["implicit_wait"], driver = $focus_driver) Wait.wait_for_element_hide(self, timeout, driver) return !is_present?(driver) end |
#is_present?(driver = $focus_driver) ⇒ Boolean
115 116 117 118 119 120 121 122 123 124 125 |
# File 'lib/teber/locator.rb', line 115 def is_present?(driver = $focus_driver) driver.driver.manage.timeouts.implicit_wait = 0 begin return driver.driver.find_element(self.how, self.what).displayed? rescue Exception => e driver.driver.manage.timeouts.implicit_wait = $conf["implicit_wait"] return false ensure driver.driver.manage.timeouts.implicit_wait = $conf["implicit_wait"] end end |
#is_present_with_wait?(timeout = , driver = $focus_driver) ⇒ Boolean
131 132 133 134 |
# File 'lib/teber/locator.rb', line 131 def is_present_with_wait?(timeout = $conf["implicit_wait"], driver = $focus_driver) Wait.wait_for_element(self, timeout, driver) is_present?(driver) end |
#location(driver = $focus_driver) ⇒ Object
78 79 80 |
# File 'lib/teber/locator.rb', line 78 def location(driver = $focus_driver) driver.find_element(self).location end |
#location_once_scrolled_into_view(driver = $focus_driver) ⇒ Object
82 83 84 |
# File 'lib/teber/locator.rb', line 82 def location_once_scrolled_into_view(driver = $focus_driver) driver.find_element(self).location_once_scrolled_into_view end |
#mouse_over(index = 1, driver = $focus_driver) ⇒ Object
153 154 155 156 |
# File 'lib/teber/locator.rb', line 153 def mouse_over(index = 1, driver = $focus_driver) element = driver.find_elements(self)[index - 1] driver.action.move_to(element).perform end |
#move_and_click(driver = $focus_driver) ⇒ Object
158 159 160 161 |
# File 'lib/teber/locator.rb', line 158 def move_and_click(driver = $focus_driver) element = driver.find_element(self) driver.action.move_to(element).click.perform end |
#property(driver = $focus_driver) ⇒ Object
86 87 88 |
# File 'lib/teber/locator.rb', line 86 def property(driver = $focus_driver) driver.find_element(self).property end |
#scroll_to_locator(driver = $focus_driver) ⇒ Object
70 71 72 |
# File 'lib/teber/locator.rb', line 70 def scroll_to_locator(driver = $focus_driver) $focus_driver.scroll_to_locator(self) end |
#selected?(driver = $focus_driver) ⇒ Boolean
90 91 92 |
# File 'lib/teber/locator.rb', line 90 def selected?(driver = $focus_driver) driver.find_element(self).selected? end |
#send_keys(*args) ⇒ Object
191 192 193 |
# File 'lib/teber/locator.rb', line 191 def send_keys(*args) $focus_driver.find_element(self).send_keys(*args) end |
#size(driver = $focus_driver) ⇒ Object
94 95 96 |
# File 'lib/teber/locator.rb', line 94 def size(driver = $focus_driver) driver.find_element(self).size end |
#style(prop, driver = $focus_driver) ⇒ Object
98 99 100 |
# File 'lib/teber/locator.rb', line 98 def style(prop, driver = $focus_driver) driver.find_element(self).style(prop) end |
#submit(driver = $focus_driver) ⇒ Object
102 103 104 |
# File 'lib/teber/locator.rb', line 102 def submit(driver = $focus_driver) driver.find_element(self).submit end |
#tag_name(driver = $focus_driver) ⇒ Object
111 112 113 |
# File 'lib/teber/locator.rb', line 111 def tag_name(driver = $focus_driver) driver.find_element(self).tag_name end |
#text(driver = $focus_driver) ⇒ Object
33 34 35 |
# File 'lib/teber/locator.rb', line 33 def text(driver = $focus_driver) return driver.find_element(self).text end |
#texts(driver = $focus_driver) ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/teber/locator.rb', line 37 def texts(driver = $focus_driver) elements_text = [] driver.find_elements(self).each do |element| elements_text.push(element.text) end return elements_text end |
#to_s ⇒ Object
149 150 151 |
# File 'lib/teber/locator.rb', line 149 def to_s return "How ===> #{@how}\nWhat ===> #{@what}\nOptions ===> #{@options}" end |
#uncheck(driver = $focus_driver) ⇒ Object
179 180 181 |
# File 'lib/teber/locator.rb', line 179 def uncheck(driver = $focus_driver) self.click if self.is_checked? end |