operawatir 0.4.3.pre1-jruby → 0.5-jruby
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitmodules +1 -1
- data/CHANGES +230 -0
- data/Gemfile +4 -0
- data/Rakefile +3 -2
- data/VERSION +1 -1
- data/bin/desktopwatir +1 -1
- data/bin/operawatir +16 -4
- data/lib/operadriver/guava-r09.jar +0 -0
- data/lib/operadriver/operadriver-v0.7.2.jar +0 -0
- data/lib/operadriver/selenium-nodeps-20100909.jar +0 -0
- data/lib/operawatir.rb +10 -3
- data/lib/operawatir/actions.rb +111 -0
- data/lib/operawatir/browser.rb +24 -20
- data/lib/operawatir/clickable_item.rb +68 -0
- data/lib/operawatir/compat.rb +4 -4
- data/lib/operawatir/compat/collection.rb +1 -1
- data/lib/operawatir/compat/element.rb +1 -1
- data/lib/operawatir/compat/window.rb +4 -3
- data/lib/operawatir/desktop_browser.rb +299 -95
- data/lib/operawatir/desktop_common.rb +88 -23
- data/lib/operawatir/desktop_container.rb +103 -34
- data/lib/operawatir/desktop_enums.rb +4 -4
- data/lib/operawatir/desktop_exceptions.rb +2 -2
- data/lib/operawatir/desktop_helper.rb +31 -8
- data/lib/operawatir/element.rb +6 -2
- data/lib/operawatir/exceptions.rb +4 -4
- data/lib/operawatir/helper.rb +6 -6
- data/lib/operawatir/keys.rb +4 -4
- data/lib/operawatir/preferences.rb +126 -155
- data/lib/operawatir/quickwidgets.rb +3 -3
- data/lib/operawatir/quickwidgets/quick_addressfield.rb +12 -5
- data/lib/operawatir/quickwidgets/quick_button.rb +39 -53
- data/lib/operawatir/quickwidgets/quick_checkbox.rb +6 -6
- data/lib/operawatir/quickwidgets/quick_dialogtab.rb +5 -5
- data/lib/operawatir/quickwidgets/quick_dropdown.rb +28 -4
- data/lib/operawatir/quickwidgets/quick_dropdownitem.rb +46 -0
- data/lib/operawatir/quickwidgets/quick_editfield.rb +16 -13
- data/lib/operawatir/quickwidgets/quick_label.rb +1 -1
- data/lib/operawatir/quickwidgets/quick_menu.rb +155 -0
- data/lib/operawatir/quickwidgets/quick_menuitem.rb +387 -0
- data/lib/operawatir/quickwidgets/quick_searchfield.rb +7 -4
- data/lib/operawatir/quickwidgets/quick_tab.rb +23 -12
- data/lib/operawatir/quickwidgets/quick_thumbnail.rb +4 -4
- data/lib/operawatir/quickwidgets/quick_toolbar.rb +1 -1
- data/lib/operawatir/quickwidgets/quick_treeitem.rb +45 -29
- data/lib/operawatir/quickwidgets/quick_treeview.rb +2 -2
- data/lib/operawatir/quickwidgets/quick_widget.rb +267 -77
- data/lib/operawatir/quickwidgets/quick_window.rb +64 -38
- data/lib/operawatir/screenshot.rb +1 -1
- data/lib/operawatir/utils.rb +31 -0
- data/lib/operawatir/window.rb +1 -1
- data/operawatir.gemspec +38 -132
- data/spec/operawatir/core/actions_spec.rb +202 -0
- data/spec/operawatir/core/browser_spec.rb +8 -8
- data/spec/operawatir/core/element_spec.rb +11 -2
- data/spec/operawatir/core/keys_spec.rb +50 -2
- data/spec/operawatir/core/preferences_spec.rb +44 -128
- data/spec/operawatir/core/spatnav_spec.rb +16 -16
- data/spec/operawatir/core/utils_spec.rb +47 -0
- data/spec/operawatir/core/window_spec.rb +1 -1
- data/spec/operawatir/desktop/desktopbrowser_spec.rb +191 -22
- data/spec/operawatir/desktop/quickbutton_spec.rb +197 -164
- data/spec/operawatir/desktop/quickcheckbox_spec.rb +12 -12
- data/spec/operawatir/desktop/quickdialogtab_spec.rb +11 -11
- data/spec/operawatir/desktop/quickdropdown_spec.rb +25 -25
- data/spec/operawatir/desktop/quickeditfield_spec.rb +31 -31
- data/spec/operawatir/desktop/quickmenu_spec.rb +57 -0
- data/spec/operawatir/desktop/quickmenuitem_spec.rb +168 -0
- data/spec/operawatir/desktop/quicktab_spec.rb +26 -15
- data/spec/operawatir/desktop/quickthumbnail_spec.rb +18 -4
- data/spec/operawatir/desktop/quicktreeitem_spec.rb +72 -72
- data/spec/operawatir/desktop/quicktreeview_spec.rb +13 -13
- data/spec/operawatir/desktop/quickwidget_spec.rb +51 -13
- data/spec/operawatir/desktop/quickwindow_spec.rb +4 -0
- data/spec/operawatir/desktop/shared/shared.rb +25 -9
- data/spec/operawatir/fixtures/draggableLists.html +67 -0
- data/spec/operawatir/fixtures/formSelectionPage.html +46 -0
- data/spec/operawatir/fixtures/js/jquery-1.4.4.min.js +167 -0
- data/spec/operawatir/fixtures/js/jquery-ui-1.8.10.custom.min.js +782 -0
- data/spec/operawatir/fixtures/keys.html +40 -0
- data/spec/operawatir/fixtures/label_submit.html +5 -0
- data/spec/operawatir/fixtures/mouse.html +59 -0
- data/spec/operawatir/fixtures/simple.html +10 -0
- data/spec/operawatir/matchers.rb +20 -19
- data/spec/operawatir/watirspec_desktophelper.rb +51 -3
- data/spec/operawatir/watirspec_helper.rb +0 -2
- metadata +91 -220
- data/lib/operadriver/client-combined-nodeps.jar +0 -0
- data/lib/operadriver/webdriver-opera.jar +0 -0
- data/spec/watir3/browser_spec.rb +0 -190
- data/spec/watir3/clipboard_spec.rb +0 -64
- data/spec/watir3/collection_spec.rb +0 -387
- data/spec/watir3/element_spec.rb +0 -474
- data/spec/watir3/guards.rb +0 -39
- data/spec/watir3/keys_spec.rb +0 -204
- data/spec/watir3/server.rb +0 -91
- data/spec/watir3/watirspec_helper.rb +0 -62
- data/spec/watir3/window_spec.rb +0 -295
@@ -1,4 +1,4 @@
|
|
1
|
-
%w(quick_widget quick_button quick_checkbox quick_editfield
|
2
|
-
quick_dropdown quick_dialogtab quick_label quick_radiobutton quick_treeview quick_addressfield
|
1
|
+
%w(quick_widget quick_button quick_checkbox quick_editfield
|
2
|
+
quick_dropdown quick_dialogtab quick_label quick_radiobutton quick_treeview quick_addressfield
|
3
3
|
quick_searchfield quick_toolbar quick_window quick_tab quick_treeitem quick_thumbnail
|
4
|
-
quick_find quick_griditem quick_gridlayout).each {|widget| require "operawatir/quickwidgets/#{widget}"}
|
4
|
+
quick_find quick_griditem quick_gridlayout quick_menu quick_menuitem quick_dropdownitem).each {|widget| require "operawatir/quickwidgets/#{widget}"}
|
@@ -8,21 +8,26 @@ module OperaWatir
|
|
8
8
|
@element.getType == WIDGET_ENUM_MAP[:addressfield]
|
9
9
|
end
|
10
10
|
|
11
|
-
# Enters the url into the address field, and waits for page loading
|
11
|
+
# Enters the url into the address field, and waits for page loading
|
12
12
|
# to finish
|
13
13
|
#
|
14
|
+
# @example (with RSpec)
|
15
|
+
# addressfield.load_page_with_url("opera:debug").should == "opera:debug"
|
16
|
+
#
|
14
17
|
# @param [String] URL to load
|
15
18
|
# @return [String] text in the address field after the page is loaded
|
16
19
|
# or a blank string
|
17
20
|
# @raise [Exceptions::UnknownObjectException] if the widget could not be found
|
18
21
|
# using the specified method
|
22
|
+
#
|
19
23
|
def load_page_with_url(url)
|
20
24
|
# Must focus field before calling enter_text...
|
21
25
|
focus_with_click
|
26
|
+
|
22
27
|
# Enters text in a field and then hits enter
|
23
28
|
enter_text_and_hit_enter(url)
|
24
29
|
end
|
25
|
-
|
30
|
+
|
26
31
|
#
|
27
32
|
# Gets the visible text in the address field
|
28
33
|
#
|
@@ -30,10 +35,11 @@ module OperaWatir
|
|
30
35
|
#
|
31
36
|
# @raise [Exceptions::UnknownObjectException] if the widget could not be found
|
32
37
|
# using the specified method
|
38
|
+
#
|
33
39
|
def visible_text
|
34
40
|
element.getVisibleText()
|
35
41
|
end
|
36
|
-
|
42
|
+
|
37
43
|
#
|
38
44
|
# Gets the highlighted text in the address field
|
39
45
|
#
|
@@ -41,9 +47,10 @@ module OperaWatir
|
|
41
47
|
#
|
42
48
|
# @raise [Exceptions::UnknownObjectException] if the widget could not be found
|
43
49
|
# using the specified method
|
50
|
+
#
|
44
51
|
def highlighted_text
|
45
|
-
element.getAdditionalText()
|
52
|
+
element.getAdditionalText()
|
46
53
|
end
|
47
|
-
|
54
|
+
|
48
55
|
end
|
49
56
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
module OperaWatir
|
2
2
|
class QuickButton < QuickWidget
|
3
|
-
|
3
|
+
include ClickableItem
|
4
|
+
|
4
5
|
# @private
|
5
6
|
# Checks the type of the widget is correct
|
6
7
|
def correct_type?
|
@@ -16,29 +17,13 @@ module OperaWatir
|
|
16
17
|
element.isDefault
|
17
18
|
end
|
18
19
|
|
19
|
-
######################################################################
|
20
|
-
# Clicks the button, and waits for the window with window name
|
21
|
-
# win_name to be shown
|
22
|
-
#
|
23
|
-
# @param [String] win_name name of the window that will be opened (Pass a blank string for any window)
|
24
|
-
#
|
25
|
-
# @return [int] Window ID of the window shown or 0 if no window is shown
|
26
|
-
#
|
27
|
-
# @raise [DesktopExceptions::WidgetNotVisibleException] if the button
|
28
|
-
# is not visible
|
29
|
-
#
|
30
|
-
def open_window_with_click(win_name)
|
31
|
-
wait_start
|
32
|
-
click
|
33
|
-
wait_for_window_shown(win_name)
|
34
|
-
end
|
35
|
-
|
36
|
-
alias_method :open_dialog_with_click, :open_window_with_click
|
37
|
-
|
38
20
|
######################################################################
|
39
21
|
# Clicks the button, and waits for the dialog wizard to switch
|
40
22
|
# to the next page
|
41
23
|
#
|
24
|
+
# @example
|
25
|
+
# browser.quick_button(:name, "button_Next").change_page_with_click
|
26
|
+
#
|
42
27
|
# @return [int] Window ID of the dialog wizard or 0 if no window is shown
|
43
28
|
#
|
44
29
|
# @raise [DesktopExceptions::WidgetNotVisibleException] if the button
|
@@ -49,9 +34,10 @@ module OperaWatir
|
|
49
34
|
click
|
50
35
|
wait_for_window_shown("")
|
51
36
|
end
|
52
|
-
|
37
|
+
|
38
|
+
|
53
39
|
######################################################################
|
54
|
-
# Clicks the button, and waits for the window with window name
|
40
|
+
# Clicks the button, and waits for the window with window name
|
55
41
|
# win_name to closed
|
56
42
|
#
|
57
43
|
# @param [String] win_name name of the window that will be closed (Pass a blank string for any window)
|
@@ -66,25 +52,10 @@ module OperaWatir
|
|
66
52
|
click
|
67
53
|
wait_for_window_close(win_name)
|
68
54
|
end
|
69
|
-
|
55
|
+
|
70
56
|
alias_method :close_dialog_with_click, :close_window_with_click
|
71
|
-
|
72
|
-
|
73
|
-
# Clicks the button, and waits for loading to finish
|
74
|
-
#
|
75
|
-
# @return [int] Window ID of the window shown or 0 if no window is shown
|
76
|
-
#
|
77
|
-
# @raise [DesktopExceptions::WidgetNotVisibleException] if the button
|
78
|
-
# is not visible
|
79
|
-
#
|
80
|
-
def load_page_with_click
|
81
|
-
wait_start
|
82
|
-
click()
|
83
|
-
# Just wait for the load
|
84
|
-
wait_for_window_loaded("")
|
85
|
-
end
|
86
|
-
|
87
|
-
|
57
|
+
|
58
|
+
|
88
59
|
######################################################################
|
89
60
|
# Clicks a button or expand control and toggles it state
|
90
61
|
#
|
@@ -97,10 +68,10 @@ module OperaWatir
|
|
97
68
|
#
|
98
69
|
def toggle_with_click
|
99
70
|
click
|
100
|
-
|
101
|
-
# Cheat since we don't have an event yet
|
71
|
+
|
72
|
+
# Cheat since we don't have an event yet
|
102
73
|
sleep(0.1)
|
103
|
-
|
74
|
+
|
104
75
|
# Note: click might have made this element dissapear ...
|
105
76
|
begin
|
106
77
|
element(true).getValue
|
@@ -108,22 +79,25 @@ module OperaWatir
|
|
108
79
|
nil
|
109
80
|
end
|
110
81
|
end
|
111
|
-
|
82
|
+
|
112
83
|
######################################################################
|
113
|
-
# Clicks button to close the toolbar
|
84
|
+
# Clicks button to close the toolbar
|
85
|
+
#
|
86
|
+
# @example
|
87
|
+
# browser.quick_toolbar(:name, "Go To Intranet Toolbar").quick_button(:name, "Done").close_toolbar_with_click
|
114
88
|
#
|
115
89
|
# @raise [DesktopExceptions::WidgetNotVisibleException] if the button
|
116
90
|
# is not visible
|
117
91
|
#
|
118
92
|
def close_toolbar_with_click
|
119
93
|
click
|
120
|
-
|
94
|
+
|
121
95
|
# Cheat since we don't have an event yet
|
122
96
|
sleep(0.1)
|
123
97
|
end
|
124
|
-
|
98
|
+
|
125
99
|
alias_method :close_panel_with_click, :close_toolbar_with_click
|
126
|
-
|
100
|
+
|
127
101
|
######################################################################
|
128
102
|
# Clicks button to expand or collapse the toolbar
|
129
103
|
#
|
@@ -135,9 +109,9 @@ module OperaWatir
|
|
135
109
|
sleep(0.1)
|
136
110
|
#No refresh element because it might not be there still (after click):)
|
137
111
|
end
|
138
|
-
|
112
|
+
|
139
113
|
alias_method :collapse_with_click, :expand_with_click
|
140
|
-
|
114
|
+
|
141
115
|
######################################################################
|
142
116
|
# Gets the value of the button or expand control.
|
143
117
|
#
|
@@ -148,16 +122,28 @@ module OperaWatir
|
|
148
122
|
def value
|
149
123
|
element.getValue
|
150
124
|
end
|
151
|
-
|
125
|
+
|
152
126
|
######################################################################
|
153
127
|
# Pauses to wait for security dialogs when buttons are not active
|
154
|
-
# right away on opening
|
128
|
+
# right away on opening
|
129
|
+
#
|
130
|
+
# @example (RSpec)
|
131
|
+
# browser.quick_button(:name, "button_OK").wait_for_enabled.should == true
|
155
132
|
#
|
156
133
|
# @return [Boolean] Returns true if the button becomes active
|
157
134
|
#
|
158
135
|
def wait_for_enabled
|
159
136
|
wait_for_widget_enabled
|
160
137
|
end
|
161
|
-
|
138
|
+
|
139
|
+
######################################################################
|
140
|
+
# Waits for widget to be visible
|
141
|
+
#
|
142
|
+
# @return [Boolean] Returns true if the button becomes active
|
143
|
+
#
|
144
|
+
def wait_for_visible
|
145
|
+
wait_for_widget_visible
|
146
|
+
end
|
147
|
+
|
162
148
|
end
|
163
149
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module OperaWatir
|
2
2
|
class QuickCheckbox < QuickWidget
|
3
|
-
|
3
|
+
|
4
4
|
# @private
|
5
5
|
# Checks the type of the widget is correct
|
6
6
|
def correct_type?
|
@@ -17,7 +17,7 @@ module OperaWatir
|
|
17
17
|
def checked?
|
18
18
|
element.isSelected
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
21
|
######################################################################
|
22
22
|
# Clicks a radio button or checkbox and toggles it state
|
23
23
|
#
|
@@ -29,17 +29,17 @@ module OperaWatir
|
|
29
29
|
#
|
30
30
|
def toggle_with_click
|
31
31
|
click
|
32
|
-
|
33
|
-
# Cheat since we don't have an even yet
|
32
|
+
|
33
|
+
# Cheat since we don't have an even yet
|
34
34
|
sleep(0.1)
|
35
35
|
|
36
36
|
# is this guaranteed to be same as getValue?
|
37
37
|
element(true).isSelected
|
38
38
|
end
|
39
39
|
|
40
|
-
|
40
|
+
|
41
41
|
######################################################################
|
42
|
-
# Clicks the checkbox, and waits for the window with window name
|
42
|
+
# Clicks the checkbox, and waits for the window with window name
|
43
43
|
# win_name to be shown
|
44
44
|
#
|
45
45
|
# @param [String] win_name name of the window that will be opened (Pass a blank string for any window)
|
@@ -6,18 +6,18 @@ module OperaWatir
|
|
6
6
|
def correct_type?
|
7
7
|
@element.getType == WIDGET_ENUM_MAP[:dialogtab]
|
8
8
|
end
|
9
|
-
|
9
|
+
|
10
10
|
######################################################################
|
11
|
-
# Switches to the dialog tab by clicking on it
|
11
|
+
# Switches to the dialog tab by clicking on it
|
12
12
|
#
|
13
|
-
# @raise [DesktopExceptions::WidgetNotVisibleException] if the dialogtab
|
13
|
+
# @raise [DesktopExceptions::WidgetNotVisibleException] if the dialogtab
|
14
14
|
# is not visible
|
15
15
|
#
|
16
16
|
def activate_tab_with_click
|
17
17
|
click
|
18
|
-
|
18
|
+
|
19
19
|
# No event yet so just cheat and sleep
|
20
20
|
sleep(0.1);
|
21
21
|
end
|
22
|
-
end
|
22
|
+
end
|
23
23
|
end
|
@@ -6,7 +6,7 @@ module OperaWatir
|
|
6
6
|
def correct_type?
|
7
7
|
@element.getType == WIDGET_ENUM_MAP[:dropdown]
|
8
8
|
end
|
9
|
-
|
9
|
+
|
10
10
|
######################################################################
|
11
11
|
# Checks if the item selected in the dropdown matches the text loaded
|
12
12
|
# from Opera using the string_id
|
@@ -14,14 +14,38 @@ module OperaWatir
|
|
14
14
|
# @param [String] string_id String ID to use to load the string from the current
|
15
15
|
# language file (e.g. "D_NEW_PREFERENCES_GENERAL")
|
16
16
|
#
|
17
|
-
# @return [Boolean] true if the dropdown has the item with the
|
17
|
+
# @return [Boolean] true if the dropdown has the item with the
|
18
18
|
# string_id selected, otherwise false
|
19
19
|
#
|
20
20
|
# @raise [Exceptions::UnknownObjectException] if the widget could not be found
|
21
21
|
# using the specified method
|
22
|
+
#
|
22
23
|
def selected?(string_id)
|
23
24
|
element.isSelected(string_id)
|
24
25
|
end
|
25
|
-
|
26
|
+
|
27
|
+
#########################################################################
|
28
|
+
#
|
29
|
+
# @example
|
30
|
+
# browser.quick_dropdown(:name, "Close_tab_dropdown").dropped_down?
|
31
|
+
#
|
32
|
+
# @return true if dropdown is dropped_down/open, else false
|
33
|
+
#
|
34
|
+
def dropped_down?
|
35
|
+
element.getValue() > 0
|
36
|
+
end
|
37
|
+
|
38
|
+
|
39
|
+
############################################################################
|
40
|
+
# Click dropdown to open it
|
41
|
+
#
|
42
|
+
# @example
|
43
|
+
# browser.quick_dropdown(:name, "Close_tab_dropdown").open_with_click
|
44
|
+
#
|
45
|
+
def open_with_click
|
46
|
+
click
|
47
|
+
sleep(0.1)
|
48
|
+
end
|
49
|
+
|
26
50
|
end
|
27
|
-
end
|
51
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module OperaWatir
|
2
|
+
class QuickDropdownItem < QuickEditField #QuickWidget # QuickEditField?
|
3
|
+
|
4
|
+
# @private
|
5
|
+
# Checks the type of the widget is correct
|
6
|
+
def correct_type?
|
7
|
+
@element.getType == WIDGET_ENUM_MAP[:dropdownitem]
|
8
|
+
end
|
9
|
+
|
10
|
+
######################################################################
|
11
|
+
# Checks if the item is selected
|
12
|
+
#
|
13
|
+
# @return [Boolean] true if the dropdown has the item with the
|
14
|
+
# string_id selected, otherwise false
|
15
|
+
#
|
16
|
+
# @raise [Exceptions::UnknownObjectException] if the widget could not be found
|
17
|
+
# using the specified method
|
18
|
+
def selected?
|
19
|
+
element(true).isSelected()
|
20
|
+
end
|
21
|
+
|
22
|
+
##########################################################################
|
23
|
+
# Select item by click
|
24
|
+
#
|
25
|
+
# @example
|
26
|
+
# browser.quick_dropdownitem(:text, "Activate the next tab").select_with_click
|
27
|
+
#
|
28
|
+
# @return true if item is now selected, otherwise false
|
29
|
+
#
|
30
|
+
def select_with_click
|
31
|
+
if mac_internal?
|
32
|
+
press_menu
|
33
|
+
else
|
34
|
+
click
|
35
|
+
end
|
36
|
+
selected?
|
37
|
+
end
|
38
|
+
|
39
|
+
private
|
40
|
+
|
41
|
+
# Selects an item from a drop down pop menu where you can't click them on Mac
|
42
|
+
def press_menu
|
43
|
+
driver.pressQuickMenuItem(text, true);
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -10,13 +10,16 @@ module OperaWatir
|
|
10
10
|
######################################################################
|
11
11
|
# Sets focus to the edit field by clicking on it
|
12
12
|
#
|
13
|
-
# @
|
13
|
+
# @example
|
14
|
+
# browser.quick_editfield(:name, "Startpage_edit").focus_with_clic
|
15
|
+
#
|
16
|
+
# @raise [DesktopExceptions::WidgetNotVisibleException] if the editfield
|
14
17
|
# is not visible
|
15
18
|
#
|
16
19
|
def focus_with_click
|
17
20
|
super
|
18
21
|
end
|
19
|
-
|
22
|
+
|
20
23
|
######################################################################
|
21
24
|
# Types a text string into the edit field
|
22
25
|
#
|
@@ -25,20 +28,20 @@ module OperaWatir
|
|
25
28
|
#
|
26
29
|
# @param [String] text text string to type in
|
27
30
|
# @param wait - seconds to wait after typing
|
28
|
-
#
|
31
|
+
#
|
29
32
|
# @return [String] contents of the edit field after typing has completed
|
30
33
|
#
|
31
34
|
def type_text(text, wait = 0)
|
32
35
|
text.each_char { | t | key_press_direct t }
|
33
|
-
|
36
|
+
|
34
37
|
# No event yet so just cheat and sleep
|
35
38
|
sleep(0.2)
|
36
39
|
|
37
40
|
# Return what is in the field to check
|
38
41
|
text = element(true).getText
|
39
|
-
|
42
|
+
|
40
43
|
sleep(wait) if wait != 0
|
41
|
-
|
44
|
+
|
42
45
|
text
|
43
46
|
end
|
44
47
|
|
@@ -47,10 +50,10 @@ module OperaWatir
|
|
47
50
|
#
|
48
51
|
def clear
|
49
52
|
focus_with_click
|
50
|
-
|
53
|
+
|
51
54
|
key_press_direct("a", :ctrl)
|
52
55
|
key_press_direct("backspace")
|
53
|
-
|
56
|
+
|
54
57
|
# Cheat until we have an event
|
55
58
|
sleep(0.1)
|
56
59
|
end
|
@@ -74,7 +77,7 @@ module OperaWatir
|
|
74
77
|
#
|
75
78
|
def key_press(key, *modifiers)
|
76
79
|
key_press_direct(key, *modifiers)
|
77
|
-
|
80
|
+
|
78
81
|
# Cheat until we have an event
|
79
82
|
sleep(0.1)
|
80
83
|
|
@@ -82,7 +85,7 @@ module OperaWatir
|
|
82
85
|
element(true).getText
|
83
86
|
end
|
84
87
|
|
85
|
-
private
|
88
|
+
private
|
86
89
|
# @private
|
87
90
|
# Presses the key, and waits for loading to finish
|
88
91
|
def load_page_with_key_press(key, *modifiers)
|
@@ -95,12 +98,12 @@ module OperaWatir
|
|
95
98
|
# Enter some text and hit enter to do the action for the field
|
96
99
|
def enter_text_and_hit_enter(text)
|
97
100
|
loaded_url = ""
|
98
|
-
|
99
|
-
# OBS: only caller should set focus, if not this will happily type
|
101
|
+
|
102
|
+
# OBS: only caller should set focus, if not this will happily type
|
100
103
|
# away in the incorrect field, if for example called from subclass address_field
|
101
104
|
# Set focus
|
102
105
|
# focus_with_click
|
103
|
-
|
106
|
+
|
104
107
|
# Clear the field
|
105
108
|
clear
|
106
109
|
# Type in the text
|