Class: TestCentricity::CheckBox

Inherits:
UIElement show all
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

Attributes inherited from UIElement

#alt_locator, #context, #locator, #locator_type, #name, #parent, #type

Instance Method Summary collapse

Methods inherited from UIElement

#clear_alt_locator, #click, #click_at, #disabled?, #displayed?, #double_click, #drag_and_drop, #drag_by, #enabled?, #get_attribute, #get_locator, #get_name, #get_native_attribute, #get_object_type, #get_siebel_object_type, #get_value, #height, #hidden?, #hover, #invoke_siebel_dialog, #right_click, #send_keys, #set, #set_alt_locator, #set_locator_type, #verify_value, #visible?, #wait_until_exists, #wait_until_gone, #wait_until_hidden, #wait_until_value_changes, #wait_until_value_is, #wait_until_visible, #width, #x, #y

Constructor Details

#initialize(name, parent, locator, context, proxy = nil) ⇒ CheckBox

Returns a new instance of CheckBox.



5
6
7
8
9
10
11
12
13
14
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 5

def initialize(name, parent, locator, context, proxy = nil)
  @name        = name
  @parent      = parent
  @locator     = locator
  @context     = context
  @alt_locator = nil
  @proxy       = proxy
  @type        = :checkbox
  set_locator_type
end

Instance Attribute Details

#proxyObject

Returns the value of attribute proxy.



3
4
5
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 3

def proxy
  @proxy
end

Instance Method Details

#checkObject

Set the check state of a checkbox object.

Examples:

remember_me_checkbox.check


66
67
68
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 66

def check
  set_checkbox_state(true)
end

#checked?Boolean

Is checkbox checked?

Examples:

remember_me_checkbox.checked?

Returns:

  • (Boolean)


33
34
35
36
37
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 33

def checked?
  obj, = find_element(:all)
  object_not_found_exception(obj, 'Checkbox')
  obj.checked?
end

#exists?Boolean

Does checkbox object exists?

Examples:

remember_me_checkbox.exists?

Returns:

  • (Boolean)


22
23
24
25
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 22

def exists?
  obj, = find_object(:all)
  obj != nil
end

#set_checkbox_state(state) ⇒ Object

Set the check state of a checkbox object.

Examples:

remember_me_checkbox.set_checkbox_state(true)

Parameters:

  • state (Boolean)

    true = checked / false = unchecked



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 45

def set_checkbox_state(state)
  obj, = find_element(:all)
  object_not_found_exception(obj, 'Checkbox')
  invalid_object_type_exception(obj, 'checkbox')
  if @proxy.nil?
    if obj.native.attribute('ot') == 'JCheckBox'
      expected = state.to_bool
      obj.click unless expected == obj.checked?
    else
      obj.set(state)
    end
  else
    @proxy.click unless state == obj.checked?
  end
end

#set_siebel_checkbox_state(state) ⇒ Object

Set the check state of a Siebel OUI JCheckBox object.

Examples:

remember_me_checkbox.set_siebel_checkbox_state(true)

Parameters:

  • state (Boolean)

    true = checked / false = unchecked



92
93
94
95
96
97
98
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 92

def set_siebel_checkbox_state(state)
  obj, = find_element
  object_not_found_exception(obj, 'Siebel checkbox')
  raise "UI #{object_ref_message} is not a Siebel CheckBox object" unless get_siebel_object_type == 'JCheckBox'
  expected = state.to_bool
  obj.click unless expected == obj.checked?
end

#uncheckObject

Uncheck a checkbox object.

Examples:

remember_me_checkbox.uncheck


75
76
77
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 75

def uncheck
  set_checkbox_state(false)
end

#verify_check_state(state, enqueue = false) ⇒ Object



79
80
81
82
83
84
# File 'lib/testcentricity_web/web_elements/checkbox.rb', line 79

def verify_check_state(state, enqueue = false)
  actual = checked?
  enqueue ?
      ExceptionQueue.enqueue_assert_equal(state, actual, "Expected checkbox #{object_ref_message}") :
      assert_equal(state, actual, "Expected checkbox #{object_ref_message} to be #{state} but found #{actual} instead")
end