Class: AePageObjects::ElementProxy
- Inherits:
-
Object
- Object
- AePageObjects::ElementProxy
show all
- Includes:
- PagePolling
- Defined in:
- lib/ae_page_objects/element_proxy.rb
Instance Method Summary
collapse
Constructor Details
#initialize(element_class, *args) ⇒ ElementProxy
Returns a new instance of ElementProxy.
15
16
17
18
19
20
|
# File 'lib/ae_page_objects/element_proxy.rb', line 15
def initialize(element_class, *args)
@element_class = element_class
@args = args
@loaded_element = nil
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args, &block) ⇒ Object
120
121
122
123
124
125
126
|
# File 'lib/ae_page_objects/element_proxy.rb', line 120
def method_missing(name, *args, &block)
if name == :class
return @element_class
end
implicit_element.__send__(name, *args, &block)
end
|
Instance Method Details
#absent? ⇒ Boolean
48
49
50
51
52
53
|
# File 'lib/ae_page_objects/element_proxy.rb', line 48
def absent?
wait_until_absent
true
rescue ElementNotAbsent
false
end
|
#hidden? ⇒ Boolean
29
30
31
32
33
34
|
# File 'lib/ae_page_objects/element_proxy.rb', line 29
def hidden?
wait_until_hidden
true
rescue ElementNotHidden
false
end
|
#is_a?(type) ⇒ Boolean
112
113
114
|
# File 'lib/ae_page_objects/element_proxy.rb', line 112
def is_a?(type)
type == @element_class || type == ElementProxy
end
|
#kind_of?(type) ⇒ Boolean
116
117
118
|
# File 'lib/ae_page_objects/element_proxy.rb', line 116
def kind_of?(type)
is_a?(type)
end
|
#not_present? ⇒ Boolean
55
56
57
58
|
# File 'lib/ae_page_objects/element_proxy.rb', line 55
def not_present?
warn "[DEPRECATION WARNING]: AePageObjects::Element#not_present? is deprecated and will be removed in version 2.0.0. Use AePageObjects::Element#absent? instead."
absent?
end
|
#not_visible? ⇒ Boolean
36
37
38
39
|
# File 'lib/ae_page_objects/element_proxy.rb', line 36
def not_visible?
warn "[DEPRECATION WARNING]: AePageObjects::Element#not_visible? is deprecated and will be removed in version 2.0.0. Use AePageObjects::Element#hidden? instead."
hidden?
end
|
#presence ⇒ Object
60
61
62
63
64
|
# File 'lib/ae_page_objects/element_proxy.rb', line 60
def presence
implicit_element
rescue LoadingElementFailed
nil
end
|
#present? ⇒ Boolean
41
42
43
44
45
46
|
# File 'lib/ae_page_objects/element_proxy.rb', line 41
def present?
wait_until_present
true
rescue ElementNotPresent
false
end
|
#respond_to?(*args) ⇒ Boolean
128
129
130
|
# File 'lib/ae_page_objects/element_proxy.rb', line 128
def respond_to?(*args)
super || @element_class.allocate.respond_to?(*args)
end
|
#visible? ⇒ Boolean
22
23
24
25
26
27
|
# File 'lib/ae_page_objects/element_proxy.rb', line 22
def visible?
wait_until_visible
true
rescue ElementNotVisible
false
end
|
#wait_for_absence(timeout = nil) ⇒ Object
107
108
109
110
|
# File 'lib/ae_page_objects/element_proxy.rb', line 107
def wait_for_absence(timeout = nil)
warn "[DEPRECATION WARNING]: AePageObjects::Element#wait_for_absence is deprecated and will be removed in version 2.0.0. Use AePageObjects::Element#wait_until_absent instead."
wait_until_absent(timeout)
end
|
#wait_for_presence(timeout = nil) ⇒ Object
93
94
95
96
|
# File 'lib/ae_page_objects/element_proxy.rb', line 93
def wait_for_presence(timeout = nil)
warn "[DEPRECATION WARNING]: AePageObjects::Element#wait_for_presence is deprecated and will be removed in version 2.0.0. Use AePageObjects::Element#wait_until_present instead."
wait_until_present(timeout)
end
|
#wait_until_absent(timeout = nil) ⇒ Object
98
99
100
101
102
103
104
105
|
# File 'lib/ae_page_objects/element_proxy.rb', line 98
def wait_until_absent(timeout = nil)
with_reloaded_element(timeout) do
@loaded_element.nil?
end
rescue AePageObjects::WaitTimeoutError
raise ElementNotAbsent, "element_class: #{@element_class}, options: #{@options.inspect}"
end
|
#wait_until_hidden(timeout = nil) ⇒ Object
75
76
77
78
79
80
81
82
|
# File 'lib/ae_page_objects/element_proxy.rb', line 75
def wait_until_hidden(timeout = nil)
with_reloaded_element(timeout) do
@loaded_element.nil? || !@loaded_element.visible?
end
rescue AePageObjects::WaitTimeoutError
raise ElementNotHidden, "element_class: #{@element_class}, options: #{@options.inspect}"
end
|
#wait_until_present(timeout = nil) ⇒ Object
84
85
86
87
88
89
90
91
|
# File 'lib/ae_page_objects/element_proxy.rb', line 84
def wait_until_present(timeout = nil)
with_reloaded_element(timeout) do
!@loaded_element.nil?
end
rescue AePageObjects::WaitTimeoutError
raise ElementNotPresent, "element_class: #{@element_class}, options: #{@options.inspect}"
end
|
#wait_until_visible(timeout = nil) ⇒ Object
66
67
68
69
70
71
72
73
|
# File 'lib/ae_page_objects/element_proxy.rb', line 66
def wait_until_visible(timeout = nil)
with_reloaded_element(timeout) do
!@loaded_element.nil? && @loaded_element.visible?
end
rescue AePageObjects::WaitTimeoutError
raise ElementNotVisible, "element_class: #{@element_class}, options: #{@options.inspect}"
end
|