operawatir 0.4.1.pre5-jruby → 0.4.1.pre6-jruby
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/AUTHORS +1 -0
- data/CHANGES +170 -3
- data/README.md +30 -27
- data/VERSION +1 -1
- data/bin/desktopwatir +19 -16
- data/bin/operawatir +4 -4
- data/lib/operadriver/client-combined-nodeps.jar +0 -0
- data/lib/operadriver/webdriver-opera.jar +0 -0
- data/lib/operawatir/browser.rb +1 -2
- data/lib/operawatir/collection.rb +1 -1
- data/lib/operawatir/compat/collection.rb +13 -0
- data/lib/operawatir/compat/element.rb +57 -15
- data/lib/operawatir/compat/window.rb +41 -0
- data/lib/operawatir/desktop_browser.rb +26 -9
- data/lib/operawatir/desktop_container.rb +82 -29
- data/lib/operawatir/element.rb +48 -24
- data/lib/operawatir/keys.rb +18 -25
- data/lib/operawatir/preferences.rb +223 -6
- data/lib/operawatir/quickwidgets/quick_button.rb +8 -2
- data/lib/operawatir/quickwidgets/quick_checkbox.rb +4 -4
- data/lib/operawatir/quickwidgets/quick_editfield.rb +1 -1
- data/lib/operawatir/quickwidgets/quick_find.rb +11 -0
- data/lib/operawatir/quickwidgets/quick_griditem.rb +11 -0
- data/lib/operawatir/quickwidgets/quick_gridlayout.rb +11 -0
- data/lib/operawatir/quickwidgets/quick_searchfield.rb +5 -1
- data/lib/operawatir/quickwidgets/quick_tab.rb +0 -1
- data/lib/operawatir/quickwidgets/quick_treeitem.rb +22 -1
- data/lib/operawatir/quickwidgets/quick_widget.rb +61 -22
- data/lib/operawatir/quickwidgets/quick_window.rb +26 -0
- data/lib/operawatir/quickwidgets.rb +2 -1
- data/lib/operawatir/window.rb +36 -25
- data/lib/operawatir.rb +1 -1
- data/operawatir.gemspec +38 -5
- data/spec/operawatir/core/element_spec.rb +5 -0
- data/spec/operawatir/core/window_spec.rb +42 -0
- data/spec/operawatir/desktop/desktopbrowser_spec.rb +16 -0
- data/spec/operawatir/desktop/quickaddressfield_spec.rb +15 -3
- data/spec/operawatir/desktop/quickbutton_spec.rb +234 -20
- data/spec/operawatir/desktop/quickcheckbox_spec.rb +36 -0
- data/spec/operawatir/desktop/quickdialogtab_spec.rb +30 -0
- data/spec/operawatir/desktop/quickdropdown_spec.rb +39 -0
- data/spec/operawatir/desktop/quickeditfield_spec.rb +51 -0
- data/spec/operawatir/desktop/quickfind_spec.rb +30 -0
- data/spec/operawatir/desktop/quickgriditem_spec.rb +16 -0
- data/spec/operawatir/desktop/quickgridlayout_spec.rb +15 -0
- data/spec/operawatir/desktop/quicklabel_spec.rb +28 -0
- data/spec/operawatir/desktop/quickradiobutton_spec.rb +24 -0
- data/spec/operawatir/desktop/quicksearchfield_spec.rb +26 -0
- data/spec/operawatir/desktop/quicktab_spec.rb +86 -0
- data/spec/operawatir/desktop/quickthumbnail_spec.rb +37 -0
- data/spec/operawatir/desktop/quicktreeitem_spec.rb +135 -0
- data/spec/operawatir/desktop/quicktreeview_spec.rb +30 -0
- data/spec/operawatir/desktop/quickwidget_spec.rb +52 -11
- data/spec/operawatir/desktop/quickwindow_spec.rb +11 -0
- data/spec/operawatir/desktop/shared/shared.rb +100 -10
- data/spec/operawatir/fixtures/browsers.svg +367 -0
- data/spec/operawatir/fixtures/frames.html +13 -0
- data/spec/watir2/select_list_spec.rb +84 -71
- metadata +37 -4
- data/lib/operadriver/selenium-common.jar +0 -0
data/lib/operawatir/browser.rb
CHANGED
@@ -205,8 +205,7 @@ private
|
|
205
205
|
# FIXME: OPERA_ARGS will be moved to OperaDriver soon.
|
206
206
|
s.setOperaBinaryArguments ENV['OPERA_ARGS'].to_s + ' ' + self.settings[:args].to_s # if self.settings[:args]
|
207
207
|
s.setNoQuit true if self.settings[:no_quit]
|
208
|
-
s.setUseOperaIdle
|
209
|
-
s.setUseOperaIdle true if ENV['OPERA_IDLE'].truthy?
|
208
|
+
s.setUseOperaIdle true if self.settings[:opera_idle] or ENV['OPERA_IDLE'].truthy?
|
210
209
|
}
|
211
210
|
end
|
212
211
|
|
@@ -51,7 +51,7 @@ class OperaWatir::Collection
|
|
51
51
|
# Public interface to elms, used in Selector
|
52
52
|
def raw_elements
|
53
53
|
_elms.tap do |e|
|
54
|
-
raise(OperaWatir::Exceptions::UnknownObjectException) if e.empty?
|
54
|
+
#raise(OperaWatir::Exceptions::UnknownObjectException) if e.empty?
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
@@ -79,6 +79,10 @@ class OperaWatir::Collection
|
|
79
79
|
define_method(name) {method_missing(name)}
|
80
80
|
end
|
81
81
|
|
82
|
+
=begin
|
83
|
+
This only applies to Watir 1. #to_s is in Watir 2 treated the same
|
84
|
+
way as Object#to_s (which will give you a Collection instance).
|
85
|
+
|
82
86
|
# Fetches the string representation of this collection.
|
83
87
|
#
|
84
88
|
# @return [String] the string representation of this collection
|
@@ -95,6 +99,15 @@ class OperaWatir::Collection
|
|
95
99
|
" text: #{el.text}"
|
96
100
|
end.join("\n")
|
97
101
|
end
|
102
|
+
=end
|
103
|
+
|
104
|
+
def select(option_text)
|
105
|
+
option(:text => option_text).node.setSelected
|
106
|
+
end
|
107
|
+
|
108
|
+
def selected?(option_text)
|
109
|
+
option(:text => option_text).node.isSelected
|
110
|
+
end
|
98
111
|
|
99
112
|
private
|
100
113
|
|
@@ -1,18 +1,24 @@
|
|
1
1
|
class OperaWatir::Element
|
2
2
|
include Deprecated
|
3
3
|
|
4
|
+
#
|
4
5
|
# Gets the attribute called name.
|
5
6
|
#
|
6
7
|
# @param [String, Symbol] name The name of the attribute to get.
|
7
8
|
# @return [String] The value of the attribute.
|
9
|
+
#
|
10
|
+
|
8
11
|
def attr(name)
|
9
12
|
node.getAttribute(name.to_s) || ''
|
10
13
|
end
|
11
14
|
|
15
|
+
#
|
12
16
|
# Check the existence of the attribute on the element.
|
13
17
|
#
|
14
18
|
# @return [Boolean] True if the attribute exists on the element,
|
15
19
|
# false otherwise.
|
20
|
+
#
|
21
|
+
|
16
22
|
def attr?(name)
|
17
23
|
!node.getAttribute(name.to_s).nil?
|
18
24
|
end
|
@@ -25,9 +31,12 @@ class OperaWatir::Element
|
|
25
31
|
end
|
26
32
|
end
|
27
33
|
|
34
|
+
#
|
28
35
|
# Gets the text content of the element.
|
29
36
|
#
|
30
37
|
# @return [String] The text content.
|
38
|
+
#
|
39
|
+
|
31
40
|
def text
|
32
41
|
if node.tag_name =~ /input|textarea|select/i
|
33
42
|
node.value.strip
|
@@ -36,17 +45,18 @@ class OperaWatir::Element
|
|
36
45
|
end
|
37
46
|
end
|
38
47
|
|
39
|
-
|
40
|
-
|
48
|
+
#
|
41
49
|
# Checks whether the text content of the element contains the given
|
42
50
|
# string In the compatibility layer as the preferred way of doing
|
43
51
|
# this is.
|
44
52
|
#
|
45
53
|
# elm.text.should include('My string')
|
46
54
|
#
|
47
|
-
# @param [String]
|
48
|
-
# @param [Boolean]
|
49
|
-
#
|
55
|
+
# @param [String] String to search for.
|
56
|
+
# @param [Boolean] True if the element's text contains str, false
|
57
|
+
# otherwise.
|
58
|
+
#
|
59
|
+
|
50
60
|
def verify_contains(str)
|
51
61
|
text.include?(str)
|
52
62
|
end
|
@@ -55,11 +65,15 @@ class OperaWatir::Element
|
|
55
65
|
|
56
66
|
alias_method :caption, :text
|
57
67
|
|
68
|
+
#
|
58
69
|
# Clicks on the top left of the element, or the given x, y offset.
|
70
|
+
# Asserts whether element is enabled first.
|
59
71
|
#
|
60
72
|
# @param [optional, Fixnum] x The offset from the left of the
|
61
73
|
# element
|
62
74
|
# @param [optional, Fixnum] y The offset from the top of the element
|
75
|
+
#
|
76
|
+
|
63
77
|
def click(x=0, y=0)
|
64
78
|
assert_enabled!
|
65
79
|
node.click(x.to_i, y.to_i)
|
@@ -67,27 +81,40 @@ class OperaWatir::Element
|
|
67
81
|
|
68
82
|
alias_method :click_no_wait, :click_async
|
69
83
|
|
84
|
+
#
|
70
85
|
# Focuses the element
|
86
|
+
#
|
87
|
+
|
71
88
|
def focus
|
72
89
|
fire_event :focus
|
73
90
|
end
|
74
91
|
|
92
|
+
#
|
75
93
|
# Submits a form, or the form the elment is contained in.
|
94
|
+
#
|
95
|
+
|
76
96
|
def submit
|
77
97
|
assert_exists
|
78
98
|
node.submit
|
79
99
|
end
|
80
100
|
|
101
|
+
#
|
81
102
|
# Clears a text input or textarea of any text.
|
103
|
+
#
|
104
|
+
|
82
105
|
def clear
|
83
106
|
assert_enabled!
|
84
|
-
|
107
|
+
click
|
108
|
+
node.clear
|
85
109
|
end
|
86
110
|
|
111
|
+
#
|
87
112
|
# If passed a value it will type text into the element, otherwise it
|
88
113
|
# will check a radio button or checkbox.
|
89
114
|
#
|
90
|
-
# @param [
|
115
|
+
# @param [String] value (Optional.) Text to type.
|
116
|
+
#
|
117
|
+
|
91
118
|
def set(value=nil)
|
92
119
|
if value
|
93
120
|
self.text = value
|
@@ -97,31 +124,40 @@ class OperaWatir::Element
|
|
97
124
|
end
|
98
125
|
end
|
99
126
|
|
127
|
+
#
|
100
128
|
# Gets the href of an `<a>` element, or the url attribute of any
|
101
129
|
# other element.
|
102
130
|
#
|
103
|
-
# @return [String]
|
131
|
+
# @return [String] An href or the @url attribute.
|
132
|
+
#
|
133
|
+
|
104
134
|
def url
|
105
135
|
attr(tag_name == 'A' ? :href : :url)
|
106
136
|
end
|
107
137
|
|
138
|
+
#
|
108
139
|
# Gets the selected `<option>` elements in a `<select>` element.
|
109
140
|
#
|
110
|
-
# @return [
|
111
|
-
#
|
141
|
+
# @return [Collection] a collection of the selected
|
142
|
+
# `<option>`s
|
143
|
+
#
|
144
|
+
|
112
145
|
def selected_options
|
113
146
|
options(:selected?, true)
|
114
147
|
end
|
115
148
|
|
149
|
+
#
|
116
150
|
# On checkboxes, radio buttons, and option elements returns whether
|
117
151
|
# the element is checked/selected. On a select element, when passed
|
118
152
|
# an value it checks whether the selected option contains the given
|
119
153
|
# text.
|
120
154
|
#
|
121
|
-
# @param
|
122
|
-
#
|
123
|
-
# @return [Boolean]
|
124
|
-
#
|
155
|
+
# @param [String] value (Optional.) Text the selected option should
|
156
|
+
# contain.
|
157
|
+
# @return [Boolean] True if the element is selected/selected
|
158
|
+
# option contains value, false otherwise.
|
159
|
+
#
|
160
|
+
|
125
161
|
def selected?(value=nil)
|
126
162
|
if option.nil?
|
127
163
|
selected_options.text.include?(value)
|
@@ -132,10 +168,13 @@ class OperaWatir::Element
|
|
132
168
|
|
133
169
|
alias_method :set?, :checked?
|
134
170
|
|
171
|
+
#
|
135
172
|
# For `<select>` elements returns either 'select-one' for
|
136
173
|
# `<select>`s where only a single `<option>` can be selected, or
|
137
174
|
# 'select-multiple' otherwise. For non-`<select>` elements returns
|
138
175
|
# the `type` attribute.
|
176
|
+
#
|
177
|
+
|
139
178
|
def type
|
140
179
|
if tag_name == 'SELECT'
|
141
180
|
attr(:multiple) == 'multiple' ? 'select-multiple' : 'select-one'
|
@@ -144,9 +183,12 @@ class OperaWatir::Element
|
|
144
183
|
end
|
145
184
|
end
|
146
185
|
|
186
|
+
#
|
147
187
|
# Gets the colspan attribute as an integer.
|
148
188
|
#
|
149
|
-
# @return [Fixnum]
|
189
|
+
# @return [Fixnum] The colspan.
|
190
|
+
#
|
191
|
+
|
150
192
|
def colspan
|
151
193
|
attr(:colspan).to_i
|
152
194
|
end
|
@@ -3,33 +3,74 @@ module OperaWatir
|
|
3
3
|
module Window
|
4
4
|
include Deprecated
|
5
5
|
|
6
|
+
#
|
6
7
|
# Checks whether the body has the given text in it.
|
7
8
|
#
|
8
9
|
# @param [String] str Text to search for.
|
9
10
|
# @return [Boolean] true if the body contains the given text,
|
10
11
|
# false otherwise
|
12
|
+
#
|
13
|
+
|
11
14
|
def contains_text(str)
|
12
15
|
text.index(str)
|
13
16
|
end
|
14
17
|
|
18
|
+
|
19
|
+
#
|
15
20
|
# Find elements that match the given XPath.
|
16
21
|
#
|
17
22
|
# @param [String] value The XPath expression to search for.
|
18
23
|
# @return [OperaWatir::Collection] A collection of matching
|
19
24
|
# elements.
|
25
|
+
#
|
26
|
+
|
20
27
|
def elements_by_xpath(value)
|
21
28
|
find_by_xpath(value)
|
22
29
|
end
|
23
30
|
|
24
31
|
alias_method :element_by_xpath, :elements_by_xpath
|
25
32
|
|
33
|
+
|
34
|
+
#
|
26
35
|
# Opera specific
|
36
|
+
#
|
37
|
+
|
27
38
|
def get_hash
|
28
39
|
visual_hash
|
29
40
|
end
|
30
41
|
|
31
42
|
deprecated :get_hash, 'browser.visual_hash'
|
32
43
|
|
44
|
+
|
45
|
+
#
|
46
|
+
# TODO This is a relic from the old OperaWatir implementation,
|
47
|
+
# tests should be updated.
|
48
|
+
#
|
49
|
+
|
50
|
+
def frame(selector, argument)
|
51
|
+
case selector
|
52
|
+
when :name
|
53
|
+
driver.switch_to.frame(argument)
|
54
|
+
when :index
|
55
|
+
driver.switch_to.frame(argument.to_i - 1) # index starts from 1 in Watir
|
56
|
+
else
|
57
|
+
raise OperaWatir::Exceptions::NotImplementedException,
|
58
|
+
"We do not support the `#{selector}' selector yet"
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
|
63
|
+
def switch_to_default
|
64
|
+
driver.switch_to.default_content
|
65
|
+
end
|
66
|
+
|
67
|
+
|
68
|
+
def show_frames
|
69
|
+
frames = driver.list_frames
|
70
|
+
puts "There are #{frames.length.to_s} frames"
|
71
|
+
frames.each_with_index { |frame, i| puts "frame index: #{(i.to_i + 1).to_s} name: #{frame.to_s}" }
|
72
|
+
end
|
73
|
+
|
33
74
|
end
|
34
75
|
end
|
35
76
|
end
|
@@ -26,7 +26,7 @@ module OperaWatir
|
|
26
26
|
active_window.url = url
|
27
27
|
sleep(1)
|
28
28
|
end
|
29
|
-
|
29
|
+
|
30
30
|
######################################################################
|
31
31
|
# Quits Opera
|
32
32
|
#
|
@@ -296,8 +296,11 @@ module OperaWatir
|
|
296
296
|
end.to_a
|
297
297
|
end
|
298
298
|
|
299
|
-
|
300
|
-
#
|
299
|
+
####################################################
|
300
|
+
# Retrieves an array of all tabs (Document Windows)
|
301
|
+
#
|
302
|
+
# @return [Array] Array of windows
|
303
|
+
#
|
301
304
|
def open_pages
|
302
305
|
quick_windows.select { |win| win.name == "Document Window" }
|
303
306
|
end
|
@@ -413,6 +416,24 @@ module OperaWatir
|
|
413
416
|
def cache_preferences_path
|
414
417
|
driver.getCachePreferencesPath()
|
415
418
|
end
|
419
|
+
|
420
|
+
######################################################################
|
421
|
+
# Returns the language string corresponding to the string_id provided
|
422
|
+
#
|
423
|
+
# @param string_id the string_id to convert to the corresponding
|
424
|
+
# language string
|
425
|
+
# @param skip_ampersand if false, then leave string as is, else
|
426
|
+
# (default) remove any ampersand in string
|
427
|
+
#
|
428
|
+
#
|
429
|
+
# @example
|
430
|
+
# browser.string("D_NEW_PREFERENCES_GENERAL")
|
431
|
+
#
|
432
|
+
# @return [String] the language string corresponding to the string_id
|
433
|
+
#
|
434
|
+
def string(string_id, skip_ampersand = true)
|
435
|
+
string = driver.getString(string_id, skip_ampersand)
|
436
|
+
end
|
416
437
|
|
417
438
|
######################################################################
|
418
439
|
# Returns true if the test is running on Mac
|
@@ -543,8 +564,6 @@ module OperaWatir
|
|
543
564
|
# Set preference pref in prefs section prefs_section to value
|
544
565
|
# specified.
|
545
566
|
#
|
546
|
-
# TODO: This needs to be moved to a separate preference section.
|
547
|
-
#
|
548
567
|
# @param [String] prefs_section The prefs section the pref belongs to
|
549
568
|
# @param [String] pref The preference to set
|
550
569
|
# @param [String] value The value to set the preference to
|
@@ -554,8 +573,6 @@ module OperaWatir
|
|
554
573
|
|
555
574
|
# Get value of preference pref in prefs section prefs_section.
|
556
575
|
#
|
557
|
-
# TODO: This needs to be moved to a separate preference section.
|
558
|
-
#
|
559
576
|
# @param [String] prefs_section The prefs section the pref belongs to
|
560
577
|
# @param [String] pref The preference to get
|
561
578
|
#
|
@@ -567,8 +584,6 @@ module OperaWatir
|
|
567
584
|
# Get default value of preference pref in prefs section
|
568
585
|
# prefs_section.
|
569
586
|
#
|
570
|
-
# TODO: This needs to be moved to a separate preference section.
|
571
|
-
#
|
572
587
|
# @param [String] prefs_section The prefs section the pref belongs to
|
573
588
|
# @param [String] pref The preference to get
|
574
589
|
#
|
@@ -587,12 +602,14 @@ private
|
|
587
602
|
def self.opera_driver_settings
|
588
603
|
@opera_driver_settings ||= OperaDriverSettings.new.tap {|s|
|
589
604
|
s.setRunOperaLauncherFromOperaDriver true
|
605
|
+
s.setAutostart false if self.settings[:manual]
|
590
606
|
s.setOperaLauncherBinary self.settings[:launcher]
|
591
607
|
s.setOperaBinaryLocation self.settings[:path]
|
592
608
|
s.setOperaBinaryArguments self.settings[:args].to_s + ' -autotestmode'
|
593
609
|
s.setNoQuit self.settings[:no_quit]
|
594
610
|
s.setNoRestart self.settings[:no_restart]
|
595
611
|
s.setGuessOperaPath false
|
612
|
+
s.setUseOperaIdle false if !self.settings[:opera_idle]
|
596
613
|
}
|
597
614
|
end
|
598
615
|
|
@@ -14,7 +14,12 @@ module OperaWatir
|
|
14
14
|
# @return [Object] button object if found, otherwise nil
|
15
15
|
#
|
16
16
|
def quick_button(how, what)
|
17
|
-
|
17
|
+
if how == :pos
|
18
|
+
if what.is_a? Fixnum
|
19
|
+
what = [0, what]
|
20
|
+
end
|
21
|
+
end
|
22
|
+
QuickButton.new(self, how, what, parent_widget, window_id, :button)
|
18
23
|
end
|
19
24
|
|
20
25
|
######################################################################
|
@@ -36,7 +41,7 @@ module OperaWatir
|
|
36
41
|
what = [0, what]
|
37
42
|
end
|
38
43
|
end
|
39
|
-
QuickTab.new(self, how, what, parent_widget, window_id)
|
44
|
+
QuickTab.new(self, how, what, parent_widget, window_id, :tabbutton)
|
40
45
|
end
|
41
46
|
|
42
47
|
######################################################################
|
@@ -51,7 +56,7 @@ module OperaWatir
|
|
51
56
|
# @return [Object] checkbox object if found, otherwise nil
|
52
57
|
#
|
53
58
|
def quick_checkbox(how, what)
|
54
|
-
QuickCheckbox.new(self, how, what, parent_widget, window_id)
|
59
|
+
QuickCheckbox.new(self, how, what, parent_widget, window_id, :checkbox)
|
55
60
|
end
|
56
61
|
|
57
62
|
######################################################################
|
@@ -66,7 +71,7 @@ module OperaWatir
|
|
66
71
|
# @return [Object] dialog tab object if found, otherwise nil
|
67
72
|
#
|
68
73
|
def quick_dialogtab(how, what)
|
69
|
-
QuickDialogTab.new(self, how, what, parent_widget, window_id)
|
74
|
+
QuickDialogTab.new(self, how, what, parent_widget, window_id, :dialogtab)
|
70
75
|
end
|
71
76
|
|
72
77
|
######################################################################
|
@@ -81,10 +86,24 @@ module OperaWatir
|
|
81
86
|
# @return [Object] drop down object if found, otherwise nil
|
82
87
|
#
|
83
88
|
def quick_dropdown(how, what)
|
84
|
-
QuickDropdown.new(self, how, what, parent_widget, window_id)
|
89
|
+
QuickDropdown.new(self, how, what, parent_widget, window_id, :dropdown)
|
85
90
|
end
|
86
91
|
|
87
|
-
|
92
|
+
######################################################################
|
93
|
+
# Method for accessing a quickfind element
|
94
|
+
#
|
95
|
+
# @example
|
96
|
+
# browser.quick_find(:name, "Filetypes_quickfind")
|
97
|
+
#
|
98
|
+
# @param [String] how Method to find the element. :name, :string_id or :text
|
99
|
+
# @param [String] what Search text to find the element with.
|
100
|
+
#
|
101
|
+
# @return [Object] quickfind object if found, otherwise nil
|
102
|
+
#
|
103
|
+
def quick_find(how, what)
|
104
|
+
QuickFind.new(self, how, what, parent_widget, window_id, :quickfind)
|
105
|
+
end
|
106
|
+
|
88
107
|
######################################################################
|
89
108
|
# Method for accessing an edit or multiedit element
|
90
109
|
#
|
@@ -97,7 +116,7 @@ module OperaWatir
|
|
97
116
|
# @return [Object] edit field object if found, otherwise nil
|
98
117
|
#
|
99
118
|
def quick_editfield(how, what)
|
100
|
-
QuickEditField.new(self, how, what, parent_widget, window_id)
|
119
|
+
QuickEditField.new(self, how, what, parent_widget, window_id, :editfield)
|
101
120
|
end
|
102
121
|
|
103
122
|
######################################################################
|
@@ -112,7 +131,7 @@ module OperaWatir
|
|
112
131
|
# @return [Object] label object if found, otherwise nil
|
113
132
|
#
|
114
133
|
def quick_label(how, what)
|
115
|
-
QuickLabel.new(self, how, what, parent_widget, window_id)
|
134
|
+
QuickLabel.new(self, how, what, parent_widget, window_id, :label)
|
116
135
|
end
|
117
136
|
|
118
137
|
######################################################################
|
@@ -127,7 +146,7 @@ module OperaWatir
|
|
127
146
|
# @return [Object] radio button object if found, otherwise nil
|
128
147
|
#
|
129
148
|
def quick_radiobutton(how, what)
|
130
|
-
QuickRadioButton.new(self, how, what, parent_widget, window_id)
|
149
|
+
QuickRadioButton.new(self, how, what, parent_widget, window_id, :radiobutton)
|
131
150
|
end
|
132
151
|
|
133
152
|
######################################################################
|
@@ -142,7 +161,7 @@ module OperaWatir
|
|
142
161
|
# @return [Object] treeview object if found, otherwise nil
|
143
162
|
#
|
144
163
|
def quick_treeview(how, what)
|
145
|
-
QuickTreeView.new(self, how, what, parent_widget, window_id)
|
164
|
+
QuickTreeView.new(self, how, what, parent_widget, window_id, :treeview)
|
146
165
|
end
|
147
166
|
|
148
167
|
######################################################################
|
@@ -157,7 +176,7 @@ module OperaWatir
|
|
157
176
|
# @return [Object] addressfield object if found, otherwise nil
|
158
177
|
#
|
159
178
|
def quick_addressfield(how, what)
|
160
|
-
QuickAddressField.new(self, how, what, parent_widget, window_id)
|
179
|
+
QuickAddressField.new(self, how, what, parent_widget, window_id, :addressfield)
|
161
180
|
end
|
162
181
|
|
163
182
|
######################################################################
|
@@ -172,7 +191,7 @@ module OperaWatir
|
|
172
191
|
# @return [Object] searchfield object if found, otherwise nil
|
173
192
|
#
|
174
193
|
def quick_searchfield(how, what)
|
175
|
-
QuickSearchField.new(self, how, what, parent_widget, window_id)
|
194
|
+
QuickSearchField.new(self, how, what, parent_widget, window_id, :search)
|
176
195
|
end
|
177
196
|
|
178
197
|
######################################################################
|
@@ -187,7 +206,7 @@ module OperaWatir
|
|
187
206
|
# @return [Object] toolbar object if found, otherwise nil
|
188
207
|
#
|
189
208
|
def quick_toolbar(how, what)
|
190
|
-
QuickToolbar.new(self, how, what, parent_widget, window_id)
|
209
|
+
QuickToolbar.new(self, how, what, parent_widget, window_id, :toolbar)
|
191
210
|
end
|
192
211
|
|
193
212
|
######################################################################
|
@@ -203,29 +222,63 @@ module OperaWatir
|
|
203
222
|
# @return [Object] treeitem object if found, otherwise nil
|
204
223
|
#
|
205
224
|
def quick_treeitem(how, what)
|
206
|
-
QuickTreeItem.new(self, how, what, parent_widget, window_id)
|
225
|
+
QuickTreeItem.new(self, how, what, parent_widget, window_id, :treeitem)
|
207
226
|
end
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
227
|
+
|
228
|
+
######################################################################
|
229
|
+
# Method for accessing a grid item in a gridlayout
|
230
|
+
#
|
231
|
+
# @example (The label dialog for mail labels)
|
232
|
+
# browser.quick_gridlayout(:name, "RulesGrid").quick_griditem(:name, "GridItem0").quick_editfield(:name, "Match")
|
233
|
+
#
|
234
|
+
# @param [String] how Method to find the element. :name, :string_id or :text
|
235
|
+
# @param [String] what Search text to find the element with. Text or position
|
236
|
+
# of treeitem. Position is specified as [row, column]
|
237
|
+
#
|
238
|
+
# @return [Object] griditem object if found, otherwise nil
|
239
|
+
#
|
240
|
+
def quick_griditem(how, what)
|
241
|
+
QuickGridItem.new(self, how, what, parent_widget, window_id, :griditem)
|
242
|
+
end
|
243
|
+
|
244
|
+
######################################################################
|
245
|
+
# Method for accessing a grid layout
|
246
|
+
# (A grid layout would normally be used to specify the path to a child item in one of its cells.
|
247
|
+
#
|
248
|
+
# @example (The label dialog for mail labels)
|
249
|
+
# browser.quick_gridlayout(:name, "RulesGrid").quick_griditem(:name, "GridItem0").quick_editfield(:name, "Match")
|
250
|
+
#
|
251
|
+
# @param [String] how Method to find the element. :name, :string_id or :text
|
252
|
+
# @param [String] what Search text to find the element with. Text or position
|
253
|
+
# of treeitem. Position is specified as [row, column]
|
254
|
+
#
|
255
|
+
# @return [Object] gridlayout object if found, otherwise nil
|
256
|
+
#
|
257
|
+
def quick_gridlayout(how, what)
|
258
|
+
QuickGridLayout.new(self, how, what, parent_widget, window_id, :gridlayout)
|
259
|
+
end
|
260
|
+
|
261
|
+
|
262
|
+
######################################################################
|
263
|
+
# Method for accessing a thumbnail (speeddial, thumbnail when hovering tab groups)
|
264
|
+
#
|
265
|
+
# @example
|
266
|
+
# browser.quick_thumbnail(:name, "Thumbnail 1")
|
267
|
+
# browser.quick_thumbnail(:name, "Speed Dial 2")
|
268
|
+
#
|
269
|
+
# @param [String] how Method to find the element. :name, :string_id or :text
|
270
|
+
# @param [String] what Search text to find the element with. Text or position
|
271
|
+
# of treeitem. Position is specified as [row, column]
|
272
|
+
#
|
273
|
+
# @return [Object] thumbnail object if found, otherwise nil
|
274
|
+
#
|
222
275
|
def quick_thumbnail(how, what)
|
223
276
|
if how == :pos
|
224
277
|
if what.is_a? Fixnum
|
225
278
|
what = [0, what]
|
226
279
|
end
|
227
280
|
end
|
228
|
-
QuickThumbnail.new(self, how, what, parent_widget, window_id)
|
281
|
+
QuickThumbnail.new(self, how, what, parent_widget, window_id, :thumbnail)
|
229
282
|
end
|
230
283
|
|
231
284
|
######################################################################
|