Class: RubyApp::Element::Event
Direct Known Subclasses
AssertedEvent, ExceptionEvent, ExecutedEvent, MessagedEvent, TriggeredEvent, UpdatedEvent, RubyApp::Elements::Mobile::Calendars::Month::ChangedEvent, RubyApp::Elements::Mobile::Click::ClickedEvent, RubyApp::Elements::Mobile::Document::LoadedEvent, RubyApp::Elements::Mobile::Input::ChangedEvent, RubyApp::Elements::Mobile::List::ClickedEvent, RubyApp::Elements::Mobile::List::SearchedEvent, RubyApp::Elements::Mobile::Page::HiddenEvent, RubyApp::Elements::Mobile::Page::LoadedEvent, RubyApp::Elements::Mobile::Page::ShownEvent, RubyApp::Elements::Mobile::Page::SwipedEvent
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
-
#add_class(selector, _class) ⇒ Object
-
#assert(name, expression = nil) ⇒ Object
-
#assert_exists_input(text, value = nil) ⇒ Object
-
#assert_exists_link(text) ⇒ Object
-
#assert_exists_search(text, value = nil) ⇒ Object
-
#assert_exists_selector(selector) ⇒ Object
-
#assert_exists_selector_for(selector) ⇒ Object
-
#assert_exists_selector_value(selector) ⇒ Object
-
#assert_exists_selector_value_for(selector, value) ⇒ Object
-
#assert_exists_text(text) ⇒ Object
-
#assert_is_selector_visible(selector) ⇒ Object
-
#assert_is_text_visible(text) ⇒ Object
-
#assert_not_exists_input(text, value = nil) ⇒ Object
-
#assert_not_exists_link(text) ⇒ Object
-
#assert_not_exists_search(text, value = nil) ⇒ Object
-
#assert_not_exists_selector(selector) ⇒ Object
-
#assert_not_exists_selector_for(selector) ⇒ Object
-
#assert_not_exists_selector_value(selector) ⇒ Object
-
#assert_not_exists_selector_value_for(selector, value) ⇒ Object
-
#assert_not_exists_text(text) ⇒ Object
-
#assert_not_is_selector_visible(selector) ⇒ Object
-
#assert_not_is_text_visible(text) ⇒ Object
-
#click_link(text) ⇒ Object
-
#click_list_item(text) ⇒ Object
-
#click_list_link(text) ⇒ Object
-
#click_selector(selector) ⇒ Object
-
#confirm_refresh_browser(message) ⇒ Object
-
#create_trigger(element, interval) ⇒ Object
-
#destroy_trigger(element) ⇒ Object
-
#execute(statement = nil) ⇒ Object
-
#go(url) ⇒ Object
-
#initialize(data = nil) ⇒ Event
constructor
-
#log(message) ⇒ Object
-
#process! ⇒ Object
-
#quit! ⇒ Object
-
#refresh_browser ⇒ Object
-
#remove_class(selector, _class) ⇒ Object
-
#remove_page(page) ⇒ Object
-
#send_message(element, message = nil) ⇒ Object
-
#set_cookie(name, value, expires = Time.now + 365*24*60*60) ⇒ Object
-
#show_page(page, options = {}) ⇒ Object
-
#swipe(direction) ⇒ Object
-
#to_hash ⇒ Object
-
#today ⇒ Object
-
#trigger_element(element) ⇒ Object
-
#update_element(element) ⇒ Object
-
#update_element?(element) ⇒ Boolean
-
#update_input(text, value, change = true) ⇒ Object
-
#update_search(text, value, change = true) ⇒ Object
-
#update_style(selector, property, value) ⇒ Object
-
#update_text(selector, value) ⇒ Object
-
#update_value(selector, value, change = true) ⇒ Object
-
#update_value_for(selector, value, change = true) ⇒ Object
localize, translate
Constructor Details
#initialize(data = nil) ⇒ Event
Returns a new instance of Event.
Instance Attribute Details
Returns the value of attribute now.
26
27
28
|
# File 'lib/ruby_app/element.rb', line 26
def now
@now
end
|
Returns the value of attribute session.
26
27
28
|
# File 'lib/ruby_app/element.rb', line 26
def session
@session
end
|
Returns the value of attribute source.
26
27
28
|
# File 'lib/ruby_app/element.rb', line 26
def source
@source
end
|
Class Method Details
.from_hash(data) ⇒ Object
293
294
295
|
# File 'lib/ruby_app/element.rb', line 293
def self.from_hash(data)
data['_class'].to_class.new(data)
end
|
Instance Method Details
#add_class(selector, _class) ⇒ Object
114
115
116
117
|
# File 'lib/ruby_app/element.rb', line 114
def add_class(selector, _class)
_selector = ".ui-page-active #{selector}"
self.execute("RubyApp.addClass(#{_selector.to_json}, #{_class.to_json});")
end
|
#assert(name, expression = nil) ⇒ Object
267
268
269
|
# File 'lib/ruby_app/element.rb', line 267
def assert(name, expression = nil)
self.execute("RubyApp.assert(#{name.to_json}, #{(expression ? expression : yield).to_json});")
end
|
239
240
241
242
|
# File 'lib/ruby_app/element.rb', line 239
def assert_exists_input(text, value = nil)
self.assert_exists_selector_for("label:contains('#{text}')") unless value
self.assert_exists_selector_value_for("label:contains('#{text}')", value) if value
end
|
#assert_exists_link(text) ⇒ Object
181
182
183
|
# File 'lib/ruby_app/element.rb', line 181
def assert_exists_link(text)
self.assert_exists_selector("a:visible:contains('#{text}')")
end
|
#assert_exists_search(text, value = nil) ⇒ Object
209
210
211
212
|
# File 'lib/ruby_app/element.rb', line 209
def assert_exists_search(text, value = nil)
self.assert_exists_selector("form.ui-listview-filter input[placeholder='#{text}']") unless value
self.assert_exists_selector_value("form.ui-listview-filter input[placeholder='#{text}']", value) if value
end
|
#assert_exists_selector(selector) ⇒ Object
189
190
191
192
|
# File 'lib/ruby_app/element.rb', line 189
def assert_exists_selector(selector)
_selector = ".ui-page-active #{selector}"
self.execute("RubyApp.assertExists(#{_selector.to_json});")
end
|
#assert_exists_selector_for(selector) ⇒ Object
219
220
221
222
|
# File 'lib/ruby_app/element.rb', line 219
def assert_exists_selector_for(selector)
_selector = ".ui-page-active #{selector}"
self.execute("RubyApp.assertExistsFor(#{_selector.to_json});")
end
|
#assert_exists_selector_value(selector) ⇒ Object
199
200
201
202
|
# File 'lib/ruby_app/element.rb', line 199
def assert_exists_selector_value(selector)
_selector = ".ui-page-active #{selector}"
self.execute("RubyApp.assertExistsValue(#{_selector.to_json}, #{value.to_json});")
end
|
#assert_exists_selector_value_for(selector, value) ⇒ Object
229
230
231
232
|
# File 'lib/ruby_app/element.rb', line 229
def assert_exists_selector_value_for(selector, value)
_selector = ".ui-page-active #{selector}"
self.execute("RubyApp.assertExistsValueFor(#{_selector.to_json}, #{value.to_json});")
end
|
#assert_exists_text(text) ⇒ Object
173
174
175
|
# File 'lib/ruby_app/element.rb', line 173
def assert_exists_text(text)
self.assert_exists_selector("*:visible:contains('#{text}')")
end
|
#assert_is_selector_visible(selector) ⇒ Object
257
258
259
260
|
# File 'lib/ruby_app/element.rb', line 257
def assert_is_selector_visible(selector)
_selector = ".ui-page-active #{selector}:last"
self.execute("RubyApp.assertIsVisible(#{_selector.to_json});")
end
|
#assert_is_text_visible(text) ⇒ Object
249
250
251
|
# File 'lib/ruby_app/element.rb', line 249
def assert_is_text_visible(text)
self.assert_is_selector_visible("*:visible:contains('#{text}')")
end
|
244
245
246
247
|
# File 'lib/ruby_app/element.rb', line 244
def assert_not_exists_input(text, value = nil)
self.assert_not_exists_selector_for("label:contains('#{text}')") unless value
self.assert_not_exists_selector_value_for("label:contains('#{text}')", value) if value
end
|
#assert_not_exists_link(text) ⇒ Object
185
186
187
|
# File 'lib/ruby_app/element.rb', line 185
def assert_not_exists_link(text)
self.assert_not_exists_selector("a:visible:contains('#{text}')")
end
|
#assert_not_exists_search(text, value = nil) ⇒ Object
214
215
216
217
|
# File 'lib/ruby_app/element.rb', line 214
def assert_not_exists_search(text, value = nil)
self.assert_not_exists_selector("form.ui-listview-filter input[placeholder='#{text}']") unless value
self.assert_not_exists_selector_value("form.ui-listview-filter input[placeholder='#{text}']", value) if value
end
|
#assert_not_exists_selector(selector) ⇒ Object
194
195
196
197
|
# File 'lib/ruby_app/element.rb', line 194
def assert_not_exists_selector(selector)
_selector = ".ui-page-active #{selector}"
self.execute("RubyApp.assertNotExists(#{_selector.to_json});")
end
|
#assert_not_exists_selector_for(selector) ⇒ Object
224
225
226
227
|
# File 'lib/ruby_app/element.rb', line 224
def assert_not_exists_selector_for(selector)
_selector = ".ui-page-active #{selector}"
self.execute("RubyApp.assertNotExistsFor(#{_selector.to_json});")
end
|
#assert_not_exists_selector_value(selector) ⇒ Object
204
205
206
207
|
# File 'lib/ruby_app/element.rb', line 204
def assert_not_exists_selector_value(selector)
_selector = ".ui-page-active #{selector}"
self.execute("RubyApp.assertNotExistsValue(#{_selector.to_json}, #{value.to_json});")
end
|
#assert_not_exists_selector_value_for(selector, value) ⇒ Object
234
235
236
237
|
# File 'lib/ruby_app/element.rb', line 234
def assert_not_exists_selector_value_for(selector, value)
_selector = ".ui-page-active #{selector}"
self.execute("RubyApp.assertNotExistsValueFor(#{_selector.to_json}, #{value.to_json});")
end
|
#assert_not_exists_text(text) ⇒ Object
177
178
179
|
# File 'lib/ruby_app/element.rb', line 177
def assert_not_exists_text(text)
self.assert_not_exists_selector("*:visible:contains('#{text}')")
end
|
#assert_not_is_selector_visible(selector) ⇒ Object
262
263
264
265
|
# File 'lib/ruby_app/element.rb', line 262
def assert_not_is_selector_visible(selector)
_selector = ".ui-page-active #{selector}:last"
self.execute("RubyApp.assertNotIsVisible(#{_selector.to_json});")
end
|
#assert_not_is_text_visible(text) ⇒ Object
253
254
255
|
# File 'lib/ruby_app/element.rb', line 253
def assert_not_is_text_visible(text)
self.assert_not_is_selector_visible("*:visible:contains('#{text}')")
end
|
#click_link(text) ⇒ Object
152
153
154
|
# File 'lib/ruby_app/element.rb', line 152
def click_link(text)
self.click_selector("a:visible:contains('#{text}')")
end
|
#click_list_item(text) ⇒ Object
156
157
158
|
# File 'lib/ruby_app/element.rb', line 156
def click_list_item(text)
self.click_selector("a.item:visible:contains('#{text}')")
end
|
#click_list_link(text) ⇒ Object
160
161
162
|
# File 'lib/ruby_app/element.rb', line 160
def click_list_link(text)
self.click_selector("a.link:visible[title*='#{text}']")
end
|
#click_selector(selector) ⇒ Object
164
165
166
167
|
# File 'lib/ruby_app/element.rb', line 164
def click_selector(selector)
_selector = ".ui-page-active #{selector}"
self.execute("RubyApp.click(#{_selector.to_json});")
end
|
#confirm_refresh_browser(message) ⇒ Object
64
65
66
|
# File 'lib/ruby_app/element.rb', line 64
def confirm_refresh_browser(message)
self.execute("RubyApp.confirmRefreshBrowser(#{message.to_json});")
end
|
#create_trigger(element, interval) ⇒ Object
89
90
91
|
# File 'lib/ruby_app/element.rb', line 89
def create_trigger(element, interval)
self.execute("RubyApp.createTrigger(#{element.element_id.to_json}, #{(interval * 1000).to_json});")
end
|
#destroy_trigger(element) ⇒ Object
93
94
95
|
# File 'lib/ruby_app/element.rb', line 93
def destroy_trigger(element)
self.execute("RubyApp.destroyTrigger(#{element.element_id.to_json});")
end
|
#execute(statement = nil) ⇒ Object
275
276
277
278
279
280
281
282
|
# File 'lib/ruby_app/element.rb', line 275
def execute(statement = nil)
if statement
@statements << statement
else
yield if block_given?
self.execute("RubyApp.sendEvent({_class:'RubyApp::Element::ExecutedEvent', source:$('html').attr('id')});")
end
end
|
105
106
107
|
# File 'lib/ruby_app/element.rb', line 105
def go(url)
self.execute("RubyApp.go(#{url.to_json});")
end
|
#log(message) ⇒ Object
271
272
273
|
# File 'lib/ruby_app/element.rb', line 271
def log(message)
self.execute("RubyApp.log(#{message.to_json});")
end
|
52
53
54
|
# File 'lib/ruby_app/element.rb', line 52
def process!
self.source.send(:on_event, self)
end
|
101
102
103
|
# File 'lib/ruby_app/element.rb', line 101
def quit!
self.go('/quit')
end
|
#refresh_browser ⇒ Object
60
61
62
|
# File 'lib/ruby_app/element.rb', line 60
def refresh_browser
self.execute("RubyApp.refreshBrowser();")
end
|
#remove_class(selector, _class) ⇒ Object
119
120
121
122
|
# File 'lib/ruby_app/element.rb', line 119
def remove_class(selector, _class)
_selector = ".ui-page-active #{selector}"
self.execute("RubyApp.removeClass(#{_selector.to_json}, #{_class.to_json});")
end
|
#remove_page(page) ⇒ Object
77
78
79
|
# File 'lib/ruby_app/element.rb', line 77
def remove_page(page)
self.execute("RubyApp.removePage(#{page.element_id.to_json});")
end
|
#send_message(element, message = nil) ⇒ Object
68
69
70
|
# File 'lib/ruby_app/element.rb', line 68
def send_message(element, message = nil)
self.execute("RubyApp.sendEvent({_class:'RubyApp::Element::MessagedEvent', source:#{element.element_id.to_json}, message:#{message.to_json}});")
end
|
#set_cookie(name, value, expires = Time.now + 365*24*60*60) ⇒ Object
148
149
150
|
# File 'lib/ruby_app/element.rb', line 148
def set_cookie(name, value, expires = Time.now + 365*24*60*60)
self.execute("RubyApp.setCookie(#{name.to_json}, #{value.to_json}, new Date(#{expires.year}, #{expires.month - 1}, #{expires.day}, #{expires.hour}, #{expires.min}, #{expires.sec}));")
end
|
#show_page(page, options = {}) ⇒ Object
72
73
74
75
|
# File 'lib/ruby_app/element.rb', line 72
def show_page(page, options = {})
options.merge!(:changeHash => false)
self.execute("RubyApp.showPage(#{page.element_id.to_json}, #{options.to_json});")
end
|
#swipe(direction) ⇒ Object
169
170
171
|
# File 'lib/ruby_app/element.rb', line 169
def swipe(direction)
self.execute("RubyApp.swipe#{direction == :left ? 'Left' : 'Right'}();")
end
|
284
285
286
287
288
289
290
291
|
# File 'lib/ruby_app/element.rb', line 284
def to_hash
{
'_class' => self.class.to_s,
'now' => @now,
'source' => @source ? @source.element_id : nil,
'statements' => @statements
}
end
|
48
49
50
|
# File 'lib/ruby_app/element.rb', line 48
def today
@now.send(:to_date)
end
|
#trigger_element(element) ⇒ Object
97
98
99
|
# File 'lib/ruby_app/element.rb', line 97
def trigger_element(element)
self.execute("RubyApp.triggerElement(#{element.element_id.to_json});")
end
|
#update_element(element) ⇒ Object
81
82
83
|
# File 'lib/ruby_app/element.rb', line 81
def update_element(element)
self.execute("RubyApp.updateElement(#{element.element_id.to_json});")
end
|
#update_element?(element) ⇒ Boolean
85
86
87
|
# File 'lib/ruby_app/element.rb', line 85
def update_element?(element)
return @statements.include?("RubyApp.updateElement(#{element.element_id.to_json});")
end
|
139
140
141
|
# File 'lib/ruby_app/element.rb', line 139
def update_input(text, value, change = true)
self.update_value_for("label:contains('#{text}')", value, change)
end
|
#update_search(text, value, change = true) ⇒ Object
134
135
136
137
|
# File 'lib/ruby_app/element.rb', line 134
def update_search(text, value, change = true)
_selector = ".ui-page-active form.ui-listview-filter input[placeholder='#{text}']"
self.execute("RubyApp.updateValue(#{_selector.to_json}, #{value.to_json}, #{change.to_json});")
end
|
#update_style(selector, property, value) ⇒ Object
109
110
111
112
|
# File 'lib/ruby_app/element.rb', line 109
def update_style(selector, property, value)
_selector = ".ui-page-active #{selector}"
self.execute("RubyApp.updateStyle(#{_selector.to_json}, #{property.to_json}, #{value.to_json});")
end
|
#update_text(selector, value) ⇒ Object
124
125
126
127
|
# File 'lib/ruby_app/element.rb', line 124
def update_text(selector, value)
_selector = ".ui-page-active #{selector}"
self.execute("RubyApp.updateText(#{_selector.to_json}, #{value.to_json});")
end
|
#update_value(selector, value, change = true) ⇒ Object
129
130
131
132
|
# File 'lib/ruby_app/element.rb', line 129
def update_value(selector, value, change = true)
_selector = ".ui-page-active #{selector}"
self.execute("RubyApp.updateValue(#{_selector.to_json}, #{value.to_json}, #{change.to_json});")
end
|
#update_value_for(selector, value, change = true) ⇒ Object
143
144
145
146
|
# File 'lib/ruby_app/element.rb', line 143
def update_value_for(selector, value, change = true)
_selector = ".ui-page-active #{selector}"
self.execute("RubyApp.updateValueFor(#{_selector.to_json}, #{value.to_json}, #{change.to_json});")
end
|