Class: TestCentricity::Elements::CheckBox
- Defined in:
- lib/testcentricity_web/web_elements/checkbox.rb
Constant Summary
Constants inherited from UIElement
UIElement::CSS_SELECTORS, UIElement::XPATH_SELECTORS
Instance Attribute Summary collapse
-
#input ⇒ Object
Returns the value of attribute input.
-
#label ⇒ Object
Returns the value of attribute label.
-
#proxy ⇒ Object
Returns the value of attribute proxy.
Attributes inherited from UIElement
#alt_locator, #base_object, #context, #locator, #locator_type, #mru_driver, #mru_locator, #mru_object, #mru_parent, #name, #original_style, #parent, #type
Instance Method Summary collapse
-
#check ⇒ Object
Set the check state of a checkbox object.
-
#checked? ⇒ Boolean
Is checkbox checked?.
- #define_custom_elements(element_spec) ⇒ Object
-
#disabled? ⇒ Boolean
Is checkbox disabled (not enabled)?.
-
#exists? ⇒ Boolean
Does checkbox object exists?.
-
#get_value ⇒ Boolean
(also: #get_caption, #caption, #value)
Return checkbox caption.
-
#indeterminate? ⇒ Boolean
Is checkbox state indeterminate?.
-
#initialize(name, parent, locator, context) ⇒ CheckBox
constructor
A new instance of CheckBox.
-
#set_checkbox_state(state) ⇒ Object
Set the check state of a checkbox object.
-
#uncheck ⇒ Object
Uncheck a checkbox object.
- #verify_check_state(state, enqueue = false) ⇒ Object
-
#visible? ⇒ Boolean
Is checkbox visible?.
Methods inherited from UIElement
#aria_autocomplete, #aria_busy?, #aria_checked?, #aria_colcount, #aria_controls, #aria_describedby, #aria_disabled?, #aria_expanded?, #aria_haspopup?, #aria_hidden?, #aria_invalid?, #aria_keyshortcuts, #aria_label, #aria_labelledby, #aria_live, #aria_modal?, #aria_multiline?, #aria_multiselectable?, #aria_orientation, #aria_pressed?, #aria_readonly?, #aria_required?, #aria_roledescription, #aria_rowcount, #aria_selected?, #aria_sort, #aria_valuemax, #aria_valuemin, #aria_valuenow, #aria_valuetext, #clear_alt_locator, #click, #click_at, #content_editable?, #count, #crossorigin, #displayed?, #double_click, #drag_and_drop, #drag_by, #enabled?, #find_element, #focused?, #get_attribute, #get_locator, #get_locator_type, #get_name, #get_native_attribute, #get_object_type, #height, #hidden?, #highlight, #hover, #hover_at, #obscured?, #required?, #reset_mru_cache, #right_click, #role, #scroll_to, #send_keys, #set, #set_alt_locator, #set_locator_type, #style, #tabindex, #title, #unhighlight, #verify_value, #wait_until_enabled, #wait_until_exists, #wait_until_gone, #wait_until_hidden, #wait_until_value_changes, #wait_until_value_is, #wait_until_visible, #wait_while_busy, #width, #x, #y
Constructor Details
#initialize(name, parent, locator, context) ⇒ CheckBox
Returns a new instance of CheckBox.
8 9 10 11 12 13 14 15 16 17 |
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 8 def initialize(name, parent, locator, context) super @type = :checkbox check_spec = { input: nil, proxy: nil, label: nil } define_custom_elements(check_spec) end |
Instance Attribute Details
#input ⇒ Object
Returns the value of attribute input.
6 7 8 |
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 6 def input @input end |
#label ⇒ Object
Returns the value of attribute label.
5 6 7 |
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 5 def label @label end |
#proxy ⇒ Object
Returns the value of attribute proxy.
4 5 6 |
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 4 def proxy @proxy end |
Instance Method Details
#check ⇒ Object
Set the check state of a checkbox object.
162 163 164 |
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 162 def check set_checkbox_state(true) end |
#checked? ⇒ Boolean
Is checkbox checked?
51 52 53 54 55 56 57 58 59 60 |
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 51 def checked? @base_object, = find_element(:all) object_not_found_exception(@base_object, 'Checkbox') chk = if @input.nil? @base_object else find_component(@input, 'checkbox') end chk.checked? end |
#define_custom_elements(element_spec) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 19 def define_custom_elements(element_spec) element_spec.each do |element, value| case element when :input @input = value when :proxy @proxy = value when :label @label = value else raise "#{element} is not a recognized checkbox element" end end end |
#disabled? ⇒ Boolean
Is checkbox disabled (not enabled)?
96 97 98 99 100 101 102 103 104 105 |
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 96 def disabled? if @input.nil? super else @base_object, = find_element(:all) object_not_found_exception(@base_object, 'Checkbox') chk = find_component(@input, 'checkbox') chk.disabled? end end |
#exists? ⇒ Boolean
Does checkbox object exists?
40 41 42 43 |
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 40 def exists? obj, = find_object(:all) obj != nil end |
#get_value ⇒ Boolean Also known as: value , ,
Return checkbox caption
113 114 115 116 117 118 119 120 121 122 123 124 125 |
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 113 def get_value if @label.nil? if @proxy.nil? super else proxy = find_component(@proxy, 'checkbox proxy') proxy.text end else label = find_component(@label, 'checkbox label') label.text end end |
#indeterminate? ⇒ Boolean
Is checkbox state indeterminate?
68 69 70 71 |
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 68 def indeterminate? state = get_attribute('indeterminate') state.boolean? ? state : state == 'true' end |
#set_checkbox_state(state) ⇒ Object
Set the check state of a checkbox object.
137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 |
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 137 def set_checkbox_state(state) @base_object, = find_element(:all) object_not_found_exception(@base_object, 'Checkbox') proxy = find_component(@proxy, 'checkbox proxy') unless @proxy.nil? chk = find_component(@input, 'checkbox') unless @input.nil? if @input.nil? if @proxy.nil? @base_object.click unless state == @base_object.checked? else proxy.click unless state == @base_object.checked? end else if @proxy.nil? @base_object.click unless state == chk.checked? else proxy.click unless state == chk.checked? end end end |
#uncheck ⇒ Object
Uncheck a checkbox object.
171 172 173 |
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 171 def uncheck set_checkbox_state(state = false) end |
#verify_check_state(state, enqueue = false) ⇒ Object
175 176 177 178 179 180 |
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 175 def verify_check_state(state, enqueue = false) actual = checked? enqueue ? ExceptionQueue.enqueue_assert_equal(state, actual, "Expected checkbox #{}") : assert_equal(state, actual, "Expected checkbox #{} to be #{state} but found #{actual} instead") end |
#visible? ⇒ Boolean
Is checkbox visible?
79 80 81 82 83 84 85 86 87 88 |
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 79 def visible? if @proxy.nil? super else @base_object, = find_element(:all) object_not_found_exception(@base_object, 'Checkbox') proxy = find_component(@proxy, 'checkbox proxy') proxy.visible? end end |