awetestlib 0.1.28 → 0.1.29pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. data/.gitattributes +22 -22
  2. data/.gitignore +69 -69
  3. data/.yardopts +7 -7
  4. data/README.md +108 -108
  5. data/awetestlib.gemspec +57 -57
  6. data/awetestlib.windows.gemspec +41 -41
  7. data/awetestlib_notes.txt +4 -4
  8. data/awetestlib_osx.gemspec +47 -48
  9. data/bin/awetestlib +99 -99
  10. data/bin/awetestlib-android-setup.rb +26 -26
  11. data/bin/awetestlib-cucumber-setup.rb +28 -28
  12. data/bin/awetestlib-driver-setup.rb +21 -21
  13. data/bin/awetestlib-helpers.rb +41 -41
  14. data/bin/awetestlib-mobile-app-setup.rb +31 -31
  15. data/bin/awetestlib-netbeans-setup.rb +58 -58
  16. data/bin/awetestlib-regression-setup.rb +15 -15
  17. data/bin/awetestlib-rubymine-setup.rb +39 -39
  18. data/drivers/chromedriver.exe +0 -0
  19. data/ext/Rakefile +1 -1
  20. data/ext/mkrf_conf.rb +27 -27
  21. data/lib/awetestlib/html_report.rb +142 -142
  22. data/lib/awetestlib/logging.rb +366 -366
  23. data/lib/awetestlib/regression/browser.rb +1380 -1375
  24. data/lib/awetestlib/regression/drag_and_drop.rb +421 -420
  25. data/lib/awetestlib/regression/find.rb +345 -345
  26. data/lib/awetestlib/regression/legacy.rb +1187 -1187
  27. data/lib/awetestlib/regression/page_data.rb +191 -191
  28. data/lib/awetestlib/regression/runner.rb +307 -307
  29. data/lib/awetestlib/regression/tables.rb +627 -619
  30. data/lib/awetestlib/regression/user_input.rb +576 -576
  31. data/lib/awetestlib/regression/utilities.rb +1046 -988
  32. data/lib/awetestlib/regression/validations.rb +1093 -1074
  33. data/lib/awetestlib/regression/waits.rb +470 -470
  34. data/lib/awetestlib/runner.rb +18 -18
  35. data/lib/awetestlib.rb +41 -41
  36. data/lib/patches/README +2 -2
  37. data/lib/patches/firewatir.rb +106 -106
  38. data/lib/patches/watir.rb +175 -175
  39. data/lib/version.rb +2 -2
  40. data/license.txt +13 -13
  41. data/netbeans_setup.md +29 -29
  42. data/rdoc_test.bat +1 -1
  43. data/rubymine_setup.md +23 -23
  44. data/setup_samples/sample_android/features/dk.mejer.hansen.control.FlyingColorsPlayerAidActivity.apk +0 -0
  45. data/setup_samples/sample_android/features/sample_android.feature +5 -5
  46. data/setup_samples/sample_android/features/step_definitions/calabash_steps.rb +1 -1
  47. data/setup_samples/sample_android/features/support/app_installation_hooks.rb +36 -36
  48. data/setup_samples/sample_android/features/support/app_life_cycle_hooks.rb +14 -14
  49. data/setup_samples/sample_android/features/test_servers/8ba795a0288381ae346b67867b586881_0.3.2.apk +0 -0
  50. data/setup_samples/sample_cucumber/features/step_definitions/predefined_steps.rb +76 -76
  51. data/setup_samples/sample_cucumber/features/yahoo_mail.feature +11 -11
  52. data/setup_samples/sample_mobile_app/features/my_first.feature +14 -14
  53. data/setup_samples/sample_mobile_app/features/step_definitions/predefined_webview_steps.rb +80 -80
  54. data/setup_samples/sample_mobile_app/features/support/env.rb +2 -2
  55. data/setup_samples/sample_netbeans/demo.rb +86 -86
  56. data/setup_samples/sample_netbeans/nbproject/configs/Demo.properties +2 -2
  57. data/setup_samples/sample_netbeans/nbproject/private/config.properties +1 -1
  58. data/setup_samples/sample_netbeans/nbproject/private/configs/Demo.properties +2 -2
  59. data/setup_samples/sample_netbeans/nbproject/private/private.properties +2 -2
  60. data/setup_samples/sample_netbeans/nbproject/project.properties +5 -5
  61. data/setup_samples/sample_netbeans/nbproject/project.xml +13 -13
  62. data/setup_samples/sample_rubymine/.idea/encodings.xml +5 -5
  63. data/setup_samples/sample_rubymine/.idea/misc.xml +5 -5
  64. data/setup_samples/sample_rubymine/.idea/modules.xml +9 -9
  65. data/setup_samples/sample_rubymine/.idea/sample_rubymine.iml +9 -9
  66. data/setup_samples/sample_rubymine/.idea/scopes/scope_settings.xml +4 -4
  67. data/setup_samples/sample_rubymine/.idea/vcs.xml +7 -7
  68. data/setup_samples/sample_rubymine/.idea/workspace.xml +213 -213
  69. data/setup_samples/sample_rubymine/demo.rb +86 -86
  70. data/test/create_zoho.rb +66 -66
  71. data/test/create_zoho_account1.rb +68 -68
  72. data/test/create_zoho_account2.rb +72 -72
  73. data/test/demo.rb +87 -87
  74. data/test/google_search1.rb +16 -16
  75. data/test/google_search2.rb +19 -19
  76. data/test/login_1.rb +37 -37
  77. data/test/login_1a.rb +37 -37
  78. data/test/login_2.rb +32 -32
  79. data/test/zoho_exercise.rb +21 -21
  80. data/test/zoho_util.rb +487 -487
  81. data/tmp/placeholder.html +71 -71
  82. metadata +18 -49
@@ -1,1187 +1,1187 @@
1
- module Awetestlib
2
- module Regression
3
- # Backward compatible methods and alias to support earlier versions of the Awetest DSL.
4
- # These are deprecated in favor of the methods actually called within them.
5
- # Work in Progress
6
- module Legacy
7
-
8
- # @!group Click (UserInput)
9
-
10
- # Click a button element identified by the value of its *:id* attribute. A button is an HTML element with tag 'input' and type 'submit' or 'button'.
11
- # @param [Watir::Browser, Watir::Container] browser A reference to the browser window or container element to be tested.
12
- # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the element.
13
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
14
- # @return [Boolean] True if the Watir or Watir-webdriver function does not throw an exception.
15
- def click_button_by_id(browser, what, desc = '')
16
- click(browser, :button, :id, what, desc)
17
- end
18
-
19
- # Click a button element identified by the value of its index within the container referred to by <b>*browser*</b>.
20
- # @param (see #click_button_by_id)
21
- # @return (see #click_button_by_id)
22
- def click_link_by_index(browser, what, desc = '')
23
- click(browser, :link, :index, what, desc)
24
- end
25
-
26
- # Click a link element identified by the value of its *:href* attribute. Take care to escape characters in the url that are reserved by Regexp.
27
- # @param (see #click_button_by_id)
28
- # @return (see #click_button_by_id)
29
- def click_link_by_href(browser, what, desc = '')
30
- click(browser, :link, :href, what, desc)
31
- end
32
-
33
- alias click_href click_link_by_href
34
-
35
- # Click a button element identified by the value of its index within the container referred to by <b>*browser*</b>.
36
- # @param (see #click_link_by_index)
37
- # @return (see #click_button_by_id)
38
- def click_button_by_index(browser, what, desc = '')
39
- click(browser, :button, :index, what, desc)
40
- end
41
-
42
- # Click a button element identified by the value of its *:name* attribute. A button is an HTML element with tag 'input' and type 'submit' or 'button'.
43
- # @param (see #click_button_by_id)
44
- # @return (see #click_button_by_id)
45
- def click_button_by_name(browser, what, desc = '')
46
- click(browser, :button, :name, what, desc)
47
- end
48
-
49
- # Click a button element identified by the value of its *:text* attribute. A button is an HTML element with tag 'input' and type 'submit' or 'button'.
50
- # @param (see #click_button_by_id)
51
- # @return (see #click_button_by_id)
52
- def click_button_by_text(browser, what, desc = '')
53
- click(browser, :button, :text, what, desc)
54
- end
55
-
56
- # Click a button element identified by the value of its *:class* attribute. A button is an HTML element with tag 'input' and type 'submit' or 'button'.
57
- # @param (see #click_button_by_id)
58
- # @return (see #click_button_by_id)
59
- def click_button_by_class(browser, what, desc = '')
60
- click(browser, :button, :class, what, desc)
61
- end
62
-
63
- # Click a button element identified by the value of its *:value* attribute. A button is an HTML element with tag 'input' and type 'submit' or 'button'.
64
- # @param (see #click_button_by_id)
65
- # @return (see #click_button_by_id)
66
- def click_button_by_value(browser, what, desc = '')
67
- click(browser, :button, :value, what, desc)
68
- end
69
-
70
- # Click a button element identified by the value of its *:title* attribute. A button is an HTML element with tag 'input' and type 'submit' or 'button'.
71
- # @param (see #click_button_by_id)
72
- # @return (see #click_button_by_id)
73
- def click_button_by_title(browser, what, desc = '')
74
- click(browser, :button, :title, what, desc)
75
- end
76
-
77
- # Click a link element identified by the value of its *:id* attribute.
78
- # @param (see #click_button_by_id)
79
- # @return (see #click_button_by_id)
80
- def click_link_by_id(browser, what, desc = '')
81
- click(browser, :link, :id, what, desc)
82
- end
83
-
84
- alias click_id click_link_by_id
85
-
86
- # Click a link element identified by the value of its *:name* attribute.
87
- # @param (see #click_button_by_id)
88
- # @return (see #click_button_by_id)
89
- def click_link_by_name(browser, what, desc = '')
90
- click(browser, :link, :name, what, desc)
91
- end
92
-
93
- alias click_name click_link_by_name
94
-
95
- # Click a file_field element identified by the value of its *:id* attribute.
96
- # @param (see #click_button_by_id)
97
- # @return (see #click_button_by_id)
98
- def click_file_field_by_id(browser, what, desc = '')
99
- click(browser, :file_field, :id, what, desc)
100
- end
101
-
102
- # Click an image element identified by the value of its *:id* attribute.
103
- # @param (see #click_button_by_id)
104
- # @return (see #click_button_by_id)
105
- def click_img_by_alt(browser, what, desc = '')
106
- click(browser, :image, :alt, what, desc)
107
- end
108
-
109
- # Click an image element identified by the value of its *:title* attribute.
110
- # @param (see #click_button_by_id)
111
- # @return (see #click_button_by_id)
112
- def click_img_by_title(browser, what, desc = '')
113
- click(browser, :image, :title, what, desc)
114
- end
115
-
116
- # Click an image element identified by the value of its *:src* attribute.
117
- # Take care to escape characters in the source url that are reserved by Regexp.
118
- # @param (see #click_button_by_id)
119
- # @return (see #click_button_by_id)
120
- def click_img_by_src(browser, what, desc = '')
121
- click(browser, :image, :src, what, desc)
122
- end
123
-
124
- def click_js(browser, element, how, what, desc = '')
125
- click(browser, element, how, what, desc)
126
- end
127
-
128
- # Click a link element identified by the value of its *:value* attribute.
129
- # @param (see #click_button_by_id)
130
- # @return (see #click_button_by_id)
131
- def click_link_by_value(browser, what, desc = '')
132
- click(browser, :link, :value, what, desc)
133
- end
134
-
135
- # Click a link element identified by the value in its text (innerHTML).
136
- # @param (see #click_button_by_id)
137
- # @return (see #click_button_by_id)
138
- def click_link_by_text(browser, what, desc = '')
139
- click(browser, :link, :text, what, desc)
140
- end
141
-
142
- alias click_link click_link_by_text
143
- alias click_text click_link_by_text
144
- alias click_js_button click_link_by_text
145
-
146
- # Click a link element identified by the value of its *:class* attribute.
147
- # @param (see #click_button_by_id)
148
- # @return (see #click_button_by_id)
149
- def click_link_by_class(browser, what, desc = '')
150
- click(browser, :link, :class, what, desc)
151
- end
152
-
153
- alias click_class click_link_by_class
154
-
155
- # Click a span element identified by the value in its text (innerHTML).
156
- # @param (see #click_button_by_id)
157
- # @return (see #click_button_by_id)
158
- def click_span_by_text(browser, what, desc = '')
159
- click(browser, :span, :text, what, desc)
160
- end
161
-
162
- alias click_span_with_text click_span_by_text
163
-
164
- # Click a link element identified by the value of its *:title* attribute.
165
- # @param (see #click_button_by_id)
166
- # @return (see #click_button_by_id)
167
- def click_link_by_title(browser, what, desc = '')
168
- click(browser, :link, :title, what, desc)
169
- end
170
-
171
- alias click_title click_link_by_title
172
-
173
- # @!endgroup Click
174
-
175
- # @!group Click No Wait (UserInput)
176
-
177
- # Click a button element identified by the value of its *:id* attribute
178
- # and do not wait for the browser to reach ready state.
179
- # @param (see #click_button_by_id)
180
- # @return (see #click_button_by_id)
181
- def click_button_no_wait_by_id(browser, what, desc = '')
182
- click_no_wait(browser, :button, :id, what, desc)
183
- end
184
-
185
- alias click_button_by_id_no_wait click_button_no_wait_by_id
186
-
187
- # Click a button element identified by the value of its *:name* attribute
188
- # and do not wait for the browser to reach ready state.
189
- # @param (see #click_button_by_id)
190
- # @return (see #click_button_by_id)
191
- def click_button_no_wait_by_name(browser, what, desc = '')
192
- click_no_wait(browser, :button, :name, what, desc)
193
- end
194
-
195
- # Click a button element identified by the value of its *:class* attribute
196
- # and do not wait for the browser to reach ready state.
197
- # @param (see #click_button_by_id)
198
- # @return (see #click_button_by_id)
199
- def click_button_no_wait_by_class(browser, what, desc = '')
200
- click_no_wait(browser, :button, :class, what, desc)
201
- end
202
-
203
- alias click_button_by_class_no_wait click_button_no_wait_by_class
204
-
205
- # Click a link element identified by the value of its *:id* attribute
206
- # and do not wait for the browser to reach ready state.
207
- # @param (see #click_button_by_id)
208
- # @return (see #click_button_by_id)
209
- def click_link_no_wait_by_id(browser, what, desc = '')
210
- click_no_wait(browser, :link, :id, what, desc)
211
- end
212
-
213
- alias click_no_wait_id click_link_no_wait_by_id
214
- alias click_no_wait_by_id click_link_no_wait_by_id
215
- alias click_id_no_wait click_link_no_wait_by_id
216
- alias click_no_wait_link_by_id click_link_no_wait_by_id
217
-
218
- # Click an image element identified by the value of its *:alt* attribute
219
- # and do not wait for the browser to reach ready state.
220
- # @param (see #click_button_by_id)
221
- # @return (see #click_button_by_id)
222
- def click_img_no_wait_by_alt(browser, what, desc = '')
223
- click_no_wait(browser, :image, :alt, what, desc)
224
- end
225
-
226
- alias click_img_by_alt_no_wait click_img_no_wait_by_alt
227
-
228
- # Click a button element identified by the value in its text (innerHTML)
229
- # and do not wait for the browser to reach ready state.
230
- # @param (see #click_button_by_id)
231
- # @return (see #click_button_by_id)
232
- def click_button_no_wait_by_text(browser, what, desc = '')
233
- click_no_wait(browser, :button, :text, what, desc)
234
- end
235
-
236
- # Click a button element identified by the value of its *:value* attribute
237
- # and do not wait for the browser to reach ready state.
238
- # @param (see #click_button_by_id)
239
- # @return (see #click_button_by_id)
240
- def click_button_no_wait_by_value(browser, what, desc = '')
241
- click_no_wait(browser, :button, :value, what, desc)
242
- end
243
-
244
- # Click a button element identified by the value of its *:name* attribute
245
- # and do not wait for the browser to reach ready state.
246
- # @param (see #click_button_by_id)
247
- # @return (see #click_button_by_id)
248
- def click_link_by_name_no_wait(browser, what, desc = '')
249
- click_no_wait(browser, :link, :name, what, desc)
250
- end
251
-
252
- alias click_no_wait_name click_link_by_name_no_wait
253
- alias click_name_no_wait click_link_by_name_no_wait
254
-
255
- # Click a link element identified by the value in its text (innerHTML)
256
- # and do not wait for the browser to reach ready state.
257
- # @param (see #click_button_by_id)
258
- # @return (see #click_button_by_id)
259
- def click_link_by_text_no_wait(browser, what, desc = '')
260
- click_no_wait(browser, :link, :text, what, desc)
261
- end
262
-
263
- alias click_no_wait_text click_link_by_text_no_wait
264
- alias click_text_no_wait click_link_by_text_no_wait
265
-
266
- # Click a link element identified by the value of its *:title* attribute
267
- # and do not wait for the browser to reach ready state.
268
- # @param (see #click_button_by_id)
269
- # @return (see #click_button_by_id)
270
- def click_title_no_wait(browser, what, desc = '')
271
- click_no_wait(browser, :link, :title, what, desc)
272
- end
273
-
274
- # Click a link element identified by the value of its *:href* attribute and do not wait for the browser to reach ready state.
275
- # Take care to escape characters in the url that are reserved by Regexp.
276
- # @param (see #click_button_by_id)
277
- # @return (see #click_button_by_id)
278
- def click_link_no_wait_by_href(browser, what, desc = '')
279
- click_no_wait(browser, :link, :href, what, desc)
280
- end
281
-
282
- alias click_href_no_wait click_link_no_wait_by_href
283
-
284
- # @!endgroup Click No Wait
285
-
286
- # @!group Xpath (UserInput)
287
-
288
- # Click a button element identified by the value of its *:id* attribute using the xpath functionality in Watir.
289
- # A button is an HTML element with tag 'input' and type 'submit' or 'button'.
290
- # @note Normally used only when the element is not located by other methods.
291
- # @param (see #click_button_by_id)
292
- # @return (see #click_button_by_id)
293
- def click_button_by_xpath_and_id(browser, what, desc = '')
294
- click(browser, :button, :xpath, "//a[@id = '#{what}']", desc)
295
- end
296
-
297
- alias click_button_by_xpath click_button_by_xpath_and_id
298
-
299
- # Click a link element identified by the value of its *:id* attribute using the xpath functionality in Watir.
300
- # @note Normally used only when the element is not located by other methods.
301
- # @param (see #click_button_by_id)
302
- # @return (see #click_button_by_id)
303
- def click_link_by_xpath_and_id(browser, what, desc = '')
304
- click(browser, :link, :xpath, "//a[@id = '#{what}']", desc)
305
- end
306
-
307
- alias click_link_by_xpath click_link_by_xpath_and_id
308
-
309
- # Click an image element identified by the value of its *:name* attribute using the xpath functionality in Watir.
310
- # @note Normally used only when the element is not located by other methods.
311
- # @param (see #click_button_by_id)
312
- # @return (see #click_button_by_id)
313
- def click_img_by_xpath_and_name(browser, what, desc = '')
314
- click(browser, :image, :xpath, "//a[@id = '#{what}']", desc)
315
- end
316
-
317
- alias click_img_by_xpath click_img_by_xpath_and_name
318
- alias click_image_by_xpath click_img_by_xpath_and_name
319
- alias click_image_by_xpath_and_name click_img_by_xpath_and_name
320
-
321
- # @!endgroup Xpath
322
-
323
- # @!group Tables (UserInput)
324
-
325
- # Click the first row which contains a particular string in a table identified by the value in its *:id* attribute.
326
- #
327
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
328
- # @param [String, Regexp] what A string or a regular expression to be found in the *how* attribute that uniquely identifies the element.
329
- # @param [String] text Full text string to be found in the table row.
330
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
331
- # @param [Fixnum] column Integer indicating the column to search for the text string.
332
- # If not supplied all columns will be checked.
333
- # @return (see #click_button_by_id)
334
- #
335
- def click_table_row_with_text_by_id(browser, what, text, desc = '', column = nil)
336
- click_table_row_with_text(browser, :id, what, text, desc, column)
337
- end
338
-
339
- # Click the first row which contains a particular string in a table identified by its index
340
- # in the array of tables contained in <b>*browser*</b>.
341
- # A specific column in the table can also be specified.
342
- #
343
- # @param (see #click_table_row_with_text_by_id)
344
- # @return (see #click_button_by_id)
345
- #
346
- def click_table_row_with_text_by_index(browser, what, text, desc = '', column = nil)
347
- click_table_row_with_text(browser, :id, what, text, desc, column)
348
- end
349
-
350
- # Double click the first row which contains a particular string in a table identified by the value in its *:id* attribute.
351
- # A specific column in the table can also be specified.
352
- #
353
- # @param (see #click_table_row_with_text_by_id)
354
- # @return (see #click_button_by_id)
355
- #
356
- def double_click_table_row_with_text_by_id(browser, what, text, desc = '', column = nil)
357
- double_click_table_row_with_text(browser, :id, what, text, desc, column)
358
- end
359
-
360
- # Double click the first row which contains a particular string in a table identified by its index
361
- # in the array of tables contained in <b>*browser*</b>.
362
- # A specific column in the table can also be specified.
363
- # @param (see #click_table_row_with_text_by_id)
364
- # @return (see #click_button_by_id)
365
- #
366
- def double_click_table_row_with_text_by_index(browser, what, text, desc = '', column = nil)
367
- double_click_table_row_with_text(browser, :index, what, text, desc, column)
368
- end
369
-
370
- # @!endgroup Tables
371
-
372
- # @!group Select (UserInput)
373
-
374
- # Select option from select list (dropdown) identified by the value in its *:id* attribute. Option is identified by *which* and *value*
375
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
376
- # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the element.
377
- # @param [String/Rexexp] option A string or regular expression that will uniquely identify the option to select.
378
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
379
- # @param [Boolean] nofail If true do not log a failed message if the option is not found in the select list.
380
- # @return (see #click_button_by_id)
381
- def select_option_by_id_and_option_text(browser, what, option, nofail = false, desc = '')
382
- select_option(browser, :id, what, :text, option, desc, nofail)
383
- end
384
-
385
- alias select_option_by_id select_option_by_id_and_option_text
386
- alias select_option_by_id_and_text select_option_by_id_and_option_text
387
-
388
- # Select option from select list (dropdown) identified by the value in its *:name* attribute. Option is selected by its *:text* attribute.
389
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
390
- # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the element.
391
- # @param [String/Rexexp] option A string or regular expression that will uniquely identify the option to select.
392
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
393
- # @return (see #click_button_by_id)
394
- def select_option_by_name_and_option_text(browser, what, option, desc = '')
395
- select_option(browser, :name, what, :text, option, desc)
396
- end
397
-
398
- alias select_option_by_name select_option_by_name_and_option_text
399
-
400
- # Select option from select list (dropdown) identified by the value in its *:name* attribute. Option is selected by its *:text* attribute.
401
- # @param (see #select_option_by_name_and_option_text)
402
- # @return (see #click_button_by_id)
403
- def select_option_by_title_and_option_text(browser, what, option, desc = '')
404
- select_option(browser, :title, what, :text, option, desc)
405
- end
406
-
407
- # Select option from select list (dropdown) identified by the value in its *:class* attribute. Option is selected by its *:text* attribute.
408
- # @param (see #select_option_by_name_and_option_text)
409
- # @return (see #click_button_by_id)
410
- def select_option_by_class_and_option_text(browser, what, option, desc = '')
411
- select_option(browser, :class, what, :text, option, desc)
412
- end
413
-
414
- # Select option from select list (dropdown) identified by the value in its *:name* attribute. Option is selected by its *:value* attribute.
415
- # @param (see #select_option_by_name_and_option_text)
416
- # @return (see #click_button_by_id)
417
- def select_option_by_name_and_option_value(browser, what, option, desc = '')
418
- select_option(browser, :name, what, :value, option, desc)
419
- end
420
-
421
- # Select option from select list (dropdown) identified by the value in its *:id* attribute. Option is selected by its *:value* attribute.
422
- # @param (see #select_option_by_name_and_option_text)
423
- # @return (see #click_button_by_id)
424
- def select_option_by_id_and_option_value(browser, what, option, desc = '')
425
- select_option(browser, :id, what, :value, option, desc)
426
- end
427
-
428
- # Select option from select list (dropdown) identified by the value in its *:id* attribute.
429
- # Option is selected by its index withing the select list's array of options.
430
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
431
- # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the element.
432
- # @param [Fixnum] index An integer that indicates the index of the element within the array of options.
433
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
434
- # @return (see #click_button_by_id)
435
- def select_option_by_id_and_index(browser, what, index, desc = '')
436
- select_option(browser, :id, what, :index, index, desc)
437
- end
438
-
439
- # Select option from select list (dropdown) identified by the value in its *:name* attribute. Option is selected by its *:index* attribute.
440
- # @param (see #select_option_by_id_and_index)
441
- # @return (see #click_button_by_id)
442
- def select_option_by_name_and_index(browser, what, option, desc = '')
443
- select_option(browser, :name, what, :index, option, desc)
444
- end
445
-
446
- # Select option from select list (dropdown) identified by the xpath command supplied in *what*. Option is selected by its *:index* attribute.
447
- # @param (see #select_option_by_id_and_index)
448
- # @return (see #click_button_by_id)
449
- def select_option_by_xpath_and_index(browser, what, option, desc = '')
450
- select_option(browser, :xpath, what, :index, option, desc)
451
- end
452
-
453
- # @!endgroup Select
454
-
455
- # @!group Set (UserInput)
456
-
457
- # Set checkbox as checked. Checkbox is identified by the attribute specified in *how* with value *what*. It's *:value* attribute can also be used
458
- # when needed by specifying *value*.
459
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
460
- # @param [Symbol] how The element attribute used to identify the specific checkbox.
461
- # Valid values depend on the kind of element.
462
- # Common values: :text, :id, :title, :name, :class, :href (:link only)
463
- # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the checkbox.
464
- # @param [String, Regexp] value A string or a regular expression to be found in the *:value* attribute of the checkbox.
465
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
466
- # @return (see #click_button_by_id)
467
- def set_checkbox(browser, how, what, value = nil, desc = '')
468
- set(browser, :checkbox, how, what, value, desc)
469
- end
470
-
471
- # Set checkbox as checked identified by its *:class* attribute with the value in *what*. It's *:value* attribute can also be used
472
- # when needed by specifying *value*.
473
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
474
- # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the checkbox.
475
- # @param [String, Regexp] value A string or a regular expression to be found in the *:value* attribute of the checkbox.
476
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
477
- # @return (see #click_button_by_id)
478
- def set_checkbox_by_class(browser, what, value = nil, desc = '')
479
- set(browser, :checkbox, :class, what, value, desc)
480
- end
481
-
482
- # Set checkbox as checked identified by its *:class* attribute with the value in *what*. It's *:value* attribute can also be used
483
- # when needed by specifying *value*.
484
- # @param (see #set_checkbox_by_class)
485
- # @return (see #click_button_by_id)
486
- def set_checkbox_by_id(browser, what, value = nil, desc = '')
487
- set(browser, :checkbox, :id, what, value, desc)
488
- end
489
-
490
- # Set checkbox as checked identified by its *:name* attribute with the value in *what*. It's *:value* attribute can also be used
491
- # when needed by specifying *value*.
492
- # @param (see #set_checkbox_by_class)
493
- # @return (see #click_button_by_id)
494
- def set_checkbox_by_name(browser, what, value = nil, desc = '')
495
- set(browser, :checkbox, :name, what, value, desc)
496
- end
497
-
498
- # Set checkbox as checked identified by its *:title* attribute with the value in *what*. It's *:value* attribute can also be used
499
- # when needed by specifying *value*.
500
- # @param (see #set_checkbox_by_class)
501
- # @return (see #click_button_by_id)
502
- def set_checkbox_by_title(browser, what, value = nil, desc = '')
503
- set(browser, :checkbox, :title, what, value, desc)
504
- end
505
-
506
- # Set checkbox as checked identified by its *:value* attribute with the value in *what*.
507
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
508
- # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the checkbox.
509
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
510
- # @return (see #click_button_by_id)
511
- def set_checkbox_by_value(browser, what, desc = '')
512
- set(browser, :checkbox, :value, what, nil, desc)
513
- end
514
-
515
- # Set radio button as set. Radio is identified by the attribute specified in *how* with value *what*. It's *:value* attribute can also be used
516
- # when needed by specifying *value*.
517
- # @param (see #set_checkbox)
518
- # @return (see #click_button_by_id)
519
- def set_radio(browser, how, what, value = nil, desc = '')
520
- set(browser, :radio, how, what, value, desc)
521
- end
522
-
523
- # Set radio button as set identified by its *:class* attribute with the value in *what*. It's *:value* attribute can also be used
524
- # when needed by specifying *value*.
525
- # @param (see #set_checkbox_by_class)
526
- def set_radio_by_class(browser, what, value = nil, desc = '')
527
- set(browser, :radio, :class, what, value, desc)
528
- end
529
-
530
- # Set radio button as set identified by its *:id* attribute with the value in *what*. It's *:value* attribute can also be used
531
- # when needed by specifying *value*.
532
- # @param (see #set_checkbox_by_class)
533
- # @return (see #click_button_by_id)
534
- def set_radio_by_id(browser, what, value = nil, desc = '')
535
- set(browser, :radio, :id, what, value, desc)
536
- end
537
-
538
- # Set radio button as set identified by its index within the array of radio buttons found in the container specified by *browser*.
539
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
540
- # @param [Fixnum] index An integer that indicates the index of the element within *browser*.
541
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
542
- # @return (see #click_button_by_id)
543
- def set_radio_by_index(browser, index, desc = '')
544
- set(browser, :radio, :index, index, nil, desc)
545
- end
546
-
547
- # Set radio button as set identified by its *:name* attribute with the value in *what*. It's *:value* attribute can also be used
548
- # when needed by specifying *value*.
549
- # @param (see #set_checkbox_by_class)
550
- # @return (see #click_button_by_id)
551
- def set_radio_by_name(browser, what, value = nil, desc = '')
552
- set(browser, :radio, :name, what, value, desc)
553
- end
554
-
555
- # Set radio button as set identified by its *:title* attribute with the value in *what*. It's *:value* attribute can also be used
556
- # when needed by specifying *value*.
557
- # @param (see #set_checkbox_by_class)
558
- # @return (see #click_button_by_id)
559
- def set_radio_by_title(browser, what, value = nil, desc = '')
560
- set(browser, :radio, :title, what, value, desc)
561
- end
562
-
563
- # Set radio button as set identified by its *:value* attribute with the value in *what*.
564
- # @param (see #click_button_by_id)
565
- # @return (see #click_button_by_id)
566
- def set_radio_by_value(browser, what, desc = '')
567
- set(browser, :radio, :value, what, nil, desc)
568
- end
569
-
570
- # Set radio button as set identified by its *:name* attribute with the value in *what*
571
- # and its index within the array of radio buttons with that :name
572
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
573
- # @param [String, Regexp] what A string or a regular expression to be found in the *:name* attribute that identifies the group of radio buttons.
574
- # @param [Fixnum] index An integer that indicates the index of the radio button to be set.
575
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
576
- # @return (see #click_button_by_id)
577
- def set_radio_by_name_and_index(browser, what, index, desc = '')
578
- set_radio_two_attributes(browser, :name, what, :index, index, desc)
579
- end
580
-
581
- # Set radio button as set identified by its *:name* attribute with the value in *what*
582
- # and its index within the array of radio buttons with that :name
583
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
584
- # @param [String, Regexp] what A string or a regular expression to be found in the *:name* attribute that identifies the group of radio buttons.
585
- # @param [String, Regexp] text A string or a regular expression to be found in the *:text* attribute that uniquely identifies the the radio button to be set.
586
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
587
- # @return (see #click_button_by_id)
588
- def set_radio_by_name_and_text(browser, what, text, desc = '')
589
- set_radio_two_attributes(browser, :name, what, :text, text, desc)
590
- end
591
-
592
- # Set radio button as set identified by its *:value* attribute with the value in *what*
593
- # and its index within the array of radio buttons with that :name
594
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
595
- # @param [String, Regexp] value A string or a regular expression to be found in the *:value* attribute that identifies the group of radio buttons.
596
- # @param [Fixnum] index An integer that indicates the index of the radio button to be set.
597
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
598
- # @return (see #click_button_by_id)
599
- def set_radio_by_value_and_index(browser, value, index, desc = '')
600
- set_radio_two_attributes(browser, :value, value, :index, index, desc)
601
- end
602
-
603
- # Set radio button as set identified by its *:name* attribute with the value in *what*
604
- # and the *:value* attribute with the value in *value*.
605
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
606
- # @param [String, Regexp] what A string or a regular expression to be found in the *:name* attribute that identifies the group of radio buttons.
607
- # @param [String, Regexp] value A string or a regular expression to be found in the *:value* attribute that uniquely identifies the the radio button to be set.
608
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
609
- # @return (see #click_button_by_id)
610
- def set_radio_by_name_and_value(browser, what, value, desc = '')
611
- set_radio(browser, :name, what, value, desc)
612
- end
613
-
614
- # Set file field element, identified by its *:name* attribute with the value in *what*.
615
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
616
- # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the element.
617
- # @param [String] filespec The full path and name of the target file.
618
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
619
- # @return (see #click_button_by_id)
620
- def set_file_field_by_name(browser, what, filespec, desc = '')
621
- set_file_field(browser, :name, what, filespec, desc)
622
- end
623
-
624
- # Set file field element, identified by its *:id* attribute with the value in *what*.
625
- # @param (see #set_file_field_by_name)
626
- # @return (see #click_button_by_id)
627
- def set_file_field_by_id(browser, what, filespec, desc = '')
628
- set_file_field(browser, :id, what, filespec, desc)
629
- end
630
-
631
- # Set text field as identified by its *:name* attribute with value in *what* to the string specified in *value*.
632
- # This method validates that the text field has been set to the specified value.
633
- # The value verification can be turned off by setting *skip_value_check* to true.
634
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
635
- # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the element.
636
- # @param [String] value A string to enter into the text field.
637
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output.
638
- # Required if *skip_value_check* is set to true.
639
- # @param [Boolean] skip_value_check Forces verification of value in text field to pass.
640
- # @return (see #click_button_by_id)
641
- def set_textfield_by_name(browser, what, value, desc = '', skip_value_check = false)
642
- set_text_field(browser, :name, what, value, desc, skip_value_check)
643
- end
644
-
645
- # Set text field as identified by its *:id* attribute with value in *what* to the string specified in *value*.
646
- # This method validates that the text field has been set to the specified value.
647
- # The value verification can be turned off by setting *skip_value_check* to true.
648
- # @param (see #set_textfield_by_name)
649
- # @return (see #click_button_by_id)
650
- def set_textfield_by_id(browser, what, value, desc = '', skip_value_check = false)
651
- set_text_field(browser, :id, what, value, desc, skip_value_check)
652
- end
653
-
654
- # Set text field as identified by its *:class* attribute with value in *what* to the string specified in *value*.
655
- # This method validates that the text field has been set to the specified value.
656
- # The value verification can be turned off by setting *skip_value_check* to true.
657
- # @param (see #set_textfield_by_name)
658
- # @return (see #click_button_by_id)
659
- def set_textfield_by_title(browser, what, value, desc = '', skip_value_check = false)
660
- set_text_field(browser, :title, what, value, desc, skip_value_check)
661
- end
662
-
663
- # Set text field as identified by its *:class* attribute with value in *what* to the string specified in *value*.
664
- # This method validates that the text field has been set to the specified value.
665
- # The value verification can be turned off by setting *skip_value_check* to true.
666
- # @param (see #set_textfield_by_name)
667
- def set_textfield_by_class(browser, what, value, desc = '', skip_value_check = false)
668
- set_text_field(browser, :class, what, value, desc, skip_value_check)
669
- end
670
-
671
- # @!endgroup Set
672
-
673
- # @!group Clear (UserInput)
674
-
675
- # Clear (uncheck) checkbox identified by the attribute specified in *how* with value *what*.
676
- # It's *:value* attribute can also be used when needed by specifying *value*.
677
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
678
- # @param [Symbol] how The element attribute used to identify the specific checkbox.
679
- # Valid values depend on the kind of element.
680
- # Common values: :text, :id, :title, :name, :class.
681
- # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the element.
682
- # @param [String, Regexp] value A string or a regular expression to be found in the *:value* attribute of the element.
683
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
684
- # @return (see #click_button_by_id)
685
- def clear_checkbox(browser, how, what, value = nil, desc = '')
686
- clear(browser, :checkbox, how, what, value, desc)
687
- end
688
-
689
- # Clear (uncheck) checkbox identified by its *:name* attribute with value *what*.
690
- # It's *:value* attribute can also be used when needed by specifying *value*.
691
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
692
- # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the element.
693
- # @param [String, Regexp] value A string or a regular expression to be found in the *:value* attribute of the element.
694
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
695
- # @return (see #click_button_by_id)
696
- def clear_checkbox_by_name(browser, what, value = nil, desc = '')
697
- clear(browser, :checkbox, :name, what, value, desc)
698
- end
699
-
700
- # Clear (uncheck) checkbox identified by its *:id* attribute with value *what*.
701
- # It's *:value* attribute can also be used when needed by specifying *value*.
702
- # @param (see #set_file_field_by_name)
703
- # @return (see #click_button_by_id)
704
- def clear_checkbox_by_id(browser, strg, value = nil, desc = '')
705
- clear_checkbox(browser, :id, strg, desc)
706
- end
707
-
708
- # Clear (unset) radio button identified by the attribute specified in *how* with value *what*.
709
- # It's *:value* attribute can also be used when needed by specifying *value*.
710
- # This clears the specified radio without setting any other radio buttons on.
711
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
712
- # @param [Symbol] how The element attribute used to identify the specific checkbox.
713
- # Valid values depend on the kind of element.
714
- # Common values: :text, :id, :title, :name, :class.
715
- # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the element.
716
- # @param [String, Regexp] value A string or a regular expression to be found in the *:value* attribute of the element.
717
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
718
- # @return (see #click_button_by_id)
719
- def clear_radio(browser, how, what, value = nil, desc = '')
720
- clear(browser, :radio, how, what, value, desc)
721
- end
722
-
723
- # @!endgroup Clear
724
-
725
- # @!group Fire Event (UserInput)
726
-
727
- # Fire an event on a link element identified by the value in its text (innerHTML)
728
- #
729
- # @example
730
- # # html for a link element:
731
- # # <a href="http://pragmaticprogrammer.com/titles/ruby/" id="one" name="book">Pickaxe</a>
732
- #
733
- # fire_event_on_link_by_text(browser, 'Pickaxe', 'onMouseOver')
734
- #
735
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
736
- # @param [String, Regexp] what A string or a regular expression to be found in the *how* attribute that uniquely identifies the element.
737
- # @param [String] event A string identifying the event to be fired.
738
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
739
- # @return (see #click_button_by_id)
740
- #
741
- def fire_event_on_link_by_text(browser, what, event, desc = '')
742
- fire_event(browser, :link, :text, what, event, desc)
743
- end
744
-
745
- alias fire_event_text fire_event_on_link_by_text
746
- alias fire_event_by_text fire_event_on_link_by_text
747
-
748
- # Fire an event on a link element identified by the value in its *:id* attribute.
749
- #
750
- # @example
751
- # # html for a link element:
752
- # # <a href="http://pragmaticprogrammer.com/titles/ruby/" id="one" name="book">Pickaxe</a>
753
- #
754
- # fire_event_on_link_by_id(browser, 'one', 'onMouseOver')
755
- #
756
- # @param (see #fire_event_on_link_by_text)
757
- # @return (see #click_button_by_id)
758
- #
759
- def fire_event_on_link_by_id(browser, what, event, desc = '')
760
- fire_event(browser, :link, :id, what, event, desc)
761
- end
762
-
763
- alias fire_event_id fire_event_on_link_by_id
764
- alias fire_event_by_id fire_event_on_link_by_id
765
-
766
- # Fire an event on a image element identified by the value in its *:src* attribute.
767
- # Take care to escape characters in the source url that are reserved by Regexp.
768
- # @param (see #fire_event_on_link_by_text)
769
- # @return (see #click_button_by_id)
770
- #
771
- def fire_event_on_image_by_src(browser, what, event, desc = '')
772
- fire_event(browser, :img, :src, what, event, desc)
773
- end
774
-
775
- alias fire_event_src fire_event_on_image_by_src
776
- alias fire_event_image_by_src fire_event_on_image_by_src
777
-
778
- # @!endgroup Fire Event
779
-
780
- # @!group Validations
781
-
782
- # @param (see #clear_checkbox_by_name)
783
- # @return [Boolean] True if the answer to the assertion expressed in the called method name is yes.
784
- def validate_textfield_not_value_by_name(browser, what, value, desc = '')
785
- textfield_does_not_equal?(browser, :name, what, value, desc)
786
- end
787
-
788
- alias validate_textfield_no_value_by_name validate_textfield_not_value_by_name
789
-
790
- # @param (see #clear_checkbox_by_name)
791
- # @return (see #validate_textfield_not_value_by_name)
792
- def validate_textfield_not_value_by_id(browser, what, value, desc = '')
793
- textfield_does_not_equal?(browser, :id, what, value, desc)
794
- end
795
-
796
- alias validate_textfield_no_value_by_id validate_textfield_not_value_by_id
797
-
798
- # @param (see #click_button_by_id)
799
- # @return (see #validate_textfield_not_value_by_name)
800
- def validate_textfield_empty_by_name(browser, what, desc = '')
801
- textfield_empty?(browser, :name, what, desc)
802
- end
803
-
804
- # @param (see #click_button_by_id)
805
- # @return (see #validate_textfield_not_value_by_name)
806
- def validate_textfield_empty_by_id(browser, what, desc = '')
807
- textfield_empty?(browser, :id, what, desc)
808
- end
809
-
810
- # @param (see #click_button_by_id)
811
- # @return (see #validate_textfield_not_value_by_name)
812
- def validate_textfield_empty_by_title(browser, what, desc = '')
813
- textfield_empty?(browser, :title, what, desc)
814
- end
815
-
816
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
817
- # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the element.
818
- # @param [String, Regexp] expected A string or a regular expression to be found in the *:value* attribute of the element.
819
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
820
- # @return (see #validate_textfield_not_value_by_name)
821
- def validate_textfield_value_by_name(browser, what, expected, desc = '')
822
- textfield_equals?(browser, :name, what, expected, desc)
823
- end
824
-
825
- # @param (see #clear_checkbox_by_name)
826
- # @return (see #validate_textfield_not_value_by_name)
827
- def validate_textfield_value_by_id(browser, what, expected, desc = '')
828
- textfield_equals?(browser, :id, what, expected, desc)
829
- end
830
-
831
- # @param (see #click_button_by_id)
832
- # @return (see #validate_textfield_not_value_by_name)
833
- def validate_textfield_visible_by_name(browser, what, desc = '')
834
- visible?(browser, :text_field, :name, what, desc)
835
- end
836
-
837
- alias visible_textfield_by_name validate_textfield_visible_by_name
838
-
839
- # @param (see #click_button_by_id)
840
- # @return (see #validate_textfield_not_value_by_name)
841
- def validate_textfield_disabled_by_name(browser, what, desc = '')
842
- disabled?(browser, :text_field, :name, what, desc)
843
- end
844
-
845
- alias disabled_textfield_by_name validate_textfield_disabled_by_name
846
-
847
- # @param (see #click_button_by_id)
848
- # @return (see #validate_textfield_not_value_by_name)
849
- def validate_textfield_enabled_by_name(browser, what, desc = '')
850
- enabled?(browser, :text_field, :name, what, desc)
851
- end
852
-
853
- alias enabled_textfield_by_name validate_textfield_enabled_by_name
854
-
855
- # @param (see #click_button_by_id)
856
- # @return (see #validate_textfield_not_value_by_name)
857
- def validate_textfield_not_visible_by_name(browser, what, desc = '')
858
- not_visible?(browser, :text_field, :name, what, desc)
859
- end
860
-
861
- alias visible_no_textfield_by_name validate_textfield_not_visible_by_name
862
-
863
- # @param (see #click_button_by_id)
864
- # @return (see #validate_textfield_not_value_by_name)
865
- def validate_radio_not_set(browser, what, desc = '')
866
- not_set?(browser, :id, what, desc)
867
- end
868
-
869
- alias validate_not_radioset validate_radio_not_set
870
-
871
- # @param (see #click_button_by_id)
872
- # @return (see #validate_textfield_not_value_by_name)
873
- def radio_is_set?(browser, what, desc = '')
874
- set?(browser, :id, what, desc)
875
- end
876
-
877
- alias validate_radioset radio_is_set?
878
- alias validate_radio_set radio_is_set?
879
-
880
- # @param (see #click_button_by_id)
881
- # @return (see #validate_textfield_not_value_by_name)
882
- def validate_radioset_by_name(browser, what, desc = '')
883
- set?(browser, :name, what, desc)
884
- end
885
-
886
- # @param (see #click_button_by_id)
887
- # @return (see #validate_textfield_not_value_by_name)
888
- def checked_by_id?(browser, what, desc = '')
889
- checked?(browser, :id, what, desc)
890
- end
891
-
892
- alias validate_check checked_by_id?
893
- alias checkbox_is_checked? checked_by_id?
894
-
895
- # @param (see #click_button_by_id)
896
- # @return (see #validate_textfield_not_value_by_name)
897
- def checkbox_is_enabled?(browser, what, desc = '')
898
- enabled?(browser, :checkbox, :id, what, desc)
899
- end
900
-
901
- alias validate_check_enabled checkbox_is_enabled?
902
-
903
- # @param (see #click_button_by_id)
904
- # @return (see #validate_textfield_not_value_by_name)
905
- def checkbox_is_disabled?(browser, what, desc = '')
906
- disabled?(browser, :checkbox, :id, what, desc)
907
- end
908
-
909
- alias validate_check_disabled checkbox_is_disabled?
910
-
911
- # @param (see #click_button_by_id)
912
- # @return (see #validate_textfield_not_value_by_name)
913
- def validate_check_by_class(browser, what, desc)
914
- checked?(browser, :class, what, desc)
915
- end
916
-
917
- # @param (see #click_button_by_id)
918
- # @return (see #validate_textfield_not_value_by_name)
919
- def checkbox_not_checked?(browser, what, desc)
920
- not_checked?(browser, :id, what, desc)
921
- end
922
-
923
- alias validate_not_check checkbox_not_checked?
924
-
925
- # @param (see #click_button_by_id)
926
- # @return (see #validate_textfield_not_value_by_name)
927
- def validate_image(browser, what, desc = '', nofail = false)
928
- exists?(browser, :image, :src, what, desc)
929
- end
930
-
931
- # Verify that link identified by *:text* exists.
932
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
933
- # @param [String, Regexp] what A string or a regular expression to be found in the *how* attribute that uniquely identifies the element.
934
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
935
- # @return [Boolean] True if the element exists.
936
- def validate_link_exist(browser, what, desc = '')
937
- exists?(browser, :link, :text, what, nil, desc)
938
- end
939
-
940
- # Verify that link identified by *:text* does not exist.
941
- # @param (see #click_button_by_id)
942
- # @return [Boolean] True if the element is does not exist.
943
- def link_not_exist?(browser, what, desc = '')
944
- does_not_exist?(browser, :link, :text, what, nil, desc)
945
- end
946
-
947
- alias validate_link_not_exist link_not_exist?
948
-
949
- # Verify that div identified by *:id* is visible.
950
- # @param (see #click_button_by_id)
951
- # @return [Boolean] True if the element is visible.
952
- def validate_div_visible_by_id(browser, what, desc = '')
953
- visible?(browser, :div, :id, what, desc)
954
- end
955
-
956
- # Verify that div identified by *:id* is not visible.
957
- # @param (see #click_button_by_id)
958
- # @return [Boolean] True if the element is not visible.
959
- def validate_div_not_visible_by_id(browser, what, desc = '')
960
- not_visible?(browser, :div, :id, what, desc)
961
- end
962
-
963
- # Verify that div click_button_by_id by *:text* is enabled.
964
- # @param (see #click_button_by_id)
965
- # @return [Boolean] True if the element is enabled.
966
- def link_enabled?(browser, what, desc = '')
967
- enabled?(browser, :link, :text, what, desc)
968
- end
969
-
970
- alias validate_link_enabled link_enabled?
971
- alias check_link_enabled link_enabled?
972
-
973
- # Verify that div identified by *:text* is disabled.
974
- # @param (see #click_button_by_id)
975
- # @return [Boolean] True if the element is disabled.
976
- def link_disabled?(browser, what, desc = '')
977
- disabled?(browser, :link, :text, what, desc)
978
- end
979
-
980
- alias validate_link_not_enabled link_disabled?
981
-
982
- def check_element_is_disabled(browser, element, how, what, desc = '')
983
- disabled?(browser, element, how, what, desc)
984
- end
985
-
986
- # Verify that select list, identified by :id and *what* contains *text* and select it if present
987
- # @param (see #clear_checkbox_by_name)
988
- # @return (see #validate_textfield_not_value_by_name)
989
- def validate_list(browser, what, expected, desc = '')
990
- validate_list_by_id(browser, what, expected, desc)
991
- end
992
-
993
- # Verify select list, identified by *:id*, does not contain *text*
994
- # @param (see #clear_checkbox_by_name)
995
- # @return (see #validate_textfield_not_value_by_name)
996
- def validate_no_list(browser, what, expected, desc = '')
997
- select_list_does_not_include?(browser, :id, what, expected, desc)
998
- end
999
-
1000
- # @param (see #clear_checkbox_by_name)
1001
- # @return (see #validate_textfield_not_value_by_name)
1002
- def text_in_span_equals?(browser, how, what, expected, desc = '')
1003
- text_in_element_equals?(browser, :span, how, what, expected, desc)
1004
- end
1005
-
1006
- # @param (see #clear_checkbox_by_name)
1007
- # @return (see #validate_textfield_not_value_by_name)
1008
- def span_contains_text?(browser, how, what, expected, desc = '')
1009
- element_contains_text?(browser, :span, how, what, expected, desc)
1010
- end
1011
-
1012
- alias valid_text_in_span span_contains_text?
1013
-
1014
- # @param (see #clear_checkbox_by_name)
1015
- # @return (see #validate_textfield_not_value_by_name)
1016
- def validate_text_in_span_by_id(browser, what, expected, desc = '')
1017
- element_contains_text?(browser, :span, :id, what, expected, desc)
1018
- end
1019
-
1020
- # @!endgroup Validations
1021
-
1022
- # @!group Find
1023
-
1024
- # Return the list of options in a select list identified by its *:id* attribute.
1025
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
1026
- # @param [String, Regexp] what A string or a regular expression to be found in the designated attribute that uniquely identifies the element.
1027
- # @param [Boolean] dbg Triggers additional debug logging when set to true.
1028
- # @return [Array]
1029
- def get_select_options_by_id(browser, what, dbg = false)
1030
- get_select_options(browser, :id, what, dbg)
1031
- end
1032
-
1033
- # Return the list of options in a select list identified by its *:name* attribute.
1034
- # @param (see #get_select_options_by_id)
1035
- # @return [Array]
1036
- def get_select_options_by_name(browser, what, dbg = false)
1037
- get_select_options(browser, :name, what, dbg)
1038
- end
1039
-
1040
- # Return the list of _selected_ options in a select list identified by its *:id* attribute.
1041
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
1042
- # @param [String, Regexp] what A string or a regular expression to be found in the designated attribute that uniquely identifies the element.
1043
- # @return [Array]
1044
- def get_selected_options_by_id(browser, what)
1045
- get_selected_options(browser, :id, what)
1046
- end
1047
-
1048
- alias get_selected_option_by_id get_selected_options_by_id
1049
-
1050
- # Return the list of _selected_ options in a select list identified by its *:name* attribute.
1051
- # @param (see #get_select_options_by_id)
1052
- # @return [Array]
1053
- def get_selected_options_by_name(browser, what)
1054
- get_selected_options(browser, :name, what)
1055
- end
1056
-
1057
- alias get_selected_option_by_name get_selected_options_by_name
1058
-
1059
- # Return a reference to a div element identified by its *:id* attribute.
1060
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
1061
- # @param [String, Regexp] what A string or a regular expression to be found in the designated attribute that uniquely identifies the element.
1062
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
1063
- # @param [Boolean] dbg Triggers additional debug logging when set to true.
1064
- # @return [Water::Div]
1065
- def get_div_by_id(browser, what, desc = '', dbg = false)
1066
- get_div(browser, :id, what, desc, dbg)
1067
- end
1068
-
1069
- # Return a reference to a div element identified by its *:class* attribute.
1070
- # @param (see #get_div_by_id)
1071
- # @return [Water::Div]
1072
- def get_div_by_class(browser, what, desc = '', dbg = false)
1073
- get_div(browser, :class, what, desc, dbg)
1074
- end
1075
-
1076
- # Return a reference to a div element identified by its *:text* attribute.
1077
- # @param (see #get_div_by_id)
1078
- # @return [Water::Div]
1079
- def get_div_by_text(browser, what, desc = '', dbg = false)
1080
- get_div(browser, :text, what, desc, dbg)
1081
- end
1082
-
1083
- # Return a reference to a form element identified by its *:id* attribute.
1084
- # @param (see #click_button_by_id)
1085
- # @return [Water::Form]
1086
- def get_form_by_id(browser, what, desc = '')
1087
- get_form(browser, :id, what, desc)
1088
- end
1089
-
1090
- # Return a reference to a frame element identified by its *:id* attribute.
1091
- # @param (see #click_button_by_id)
1092
- # @return [Water::Frame]
1093
- def get_frame_by_id(browser, what, desc = '')
1094
- get_frame(browser, :id, what, desc)
1095
- end
1096
-
1097
- # Return a reference to a frame element identified by its *:index* within *browser*.
1098
- # @param (see #click_button_by_id)
1099
- # @return [Water::Frame]
1100
- def get_frame_by_index(browser, what, desc = '')
1101
- get_frame(browser, :index, what, desc)
1102
- end
1103
-
1104
- # Return a reference to a frame element identified by its *:name* attribute.
1105
- # @param (see #click_button_by_id)
1106
- # @return [Water::Frame]
1107
- def get_frame_by_name(browser, what, desc = '')
1108
- get_frame(browser, :name, what, desc)
1109
- end
1110
-
1111
- # Return a reference to a span element identified by its *:id* attribute.
1112
- # @param (see #click_button_by_id)
1113
- # @return [Water::Span]
1114
- def get_span_by_id(browser, what, desc = '')
1115
- get_span(browser, :id, what, desc)
1116
- end
1117
-
1118
- # Return a reference to a table element identified by its attribute *how* containing *what*.
1119
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
1120
- # @param [Symbol] how The element attribute used to identify the specific element.
1121
- # Valid values depend on the kind of element.
1122
- # Common values: :text, :id, :title, :name, :class, :href (:link only)
1123
- # @param [String, Regexp] what A string or a regular expression to be found in the *how* attribute that uniquely identifies the element.
1124
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
1125
- # @return [Watir::Table]
1126
- def get_table(browser, how, what, desc = '')
1127
- get_element(browser, :table, how, what, nil, desc)
1128
- end
1129
-
1130
- # Return a reference to a table element identified by its *:id* attribute.
1131
- # @param (see #click_button_by_id)
1132
- # @return [Watir::Table]
1133
- def get_table_by_id(browser, what, desc = '')
1134
- get_element(browser, :table, :id, what, nil, desc)
1135
- end
1136
-
1137
- # Return a reference to a table element identified by its *:index* within *browser*.
1138
- # @param (see #click_button_by_id)
1139
- # @return [Watir::Table]
1140
- def get_table_by_index(browser, what, desc = '')
1141
- get_element(browser, :table, :index, what, nil, desc)
1142
- end
1143
-
1144
- # Return a reference to a table element identified by its *:text* attribute.
1145
- # @param (see #get_table)
1146
- # @return [Watir::Table]
1147
- def get_table_by_text(browser, what)
1148
- get_element(browser, :table, :text, what, nil, desc)
1149
- end
1150
-
1151
- # @!endgroup Find
1152
-
1153
- # @!group Wait
1154
-
1155
- # Wait until radio button, identified by attribute :value with value *what* exists on the page.
1156
- # Timeout is the default used by watir (60 seconds)
1157
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
1158
- # @param [String, Regexp] what A string or a regular expression to be found in the *how* attribute that uniquely identifies the element.
1159
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
1160
- # @return [Boolean] True if radio exists within timeout limit
1161
- def wait_until_by_radio_value(browser, what, desc = '')
1162
- wait_until_exists(browser, :radio, :value, what, desc)
1163
- end
1164
-
1165
- # Wait up to *how_long* seconds for DOM element *what_for* to exist in the page.
1166
- # @note This is a last resort method when other wait or wait until avenues have
1167
- # been exhausted.
1168
- # @param [Fixnum] how_long Timeout limit
1169
- # @param [Watir::Element] what_for A reference to a Dom element to wait for.
1170
- def wait_for_exists(how_long, what_for)
1171
- wait_for(how_long, what_for)
1172
- end
1173
-
1174
- # Wait until link, identified by attribute :text with value *what* exists on the page.
1175
- # Timeout is the default used by watir (60 seconds)
1176
- # @param (see #wait_until_by_radio_value)
1177
- # @return [Boolean] True if link exists within timeout limit
1178
- def wait_until_by_link_text(browser, what, desc = '')
1179
- wait_until_exists(browser, :link, :text, what, desc)
1180
- end
1181
-
1182
- # @!endgroup Wait
1183
-
1184
- end
1185
- end
1186
- end
1187
-
1
+ module Awetestlib
2
+ module Regression
3
+ # Backward compatible methods and alias to support earlier versions of the Awetest DSL.
4
+ # These are deprecated in favor of the methods actually called within them.
5
+ # Work in Progress
6
+ module Legacy
7
+
8
+ # @!group Click (UserInput)
9
+
10
+ # Click a button element identified by the value of its *:id* attribute. A button is an HTML element with tag 'input' and type 'submit' or 'button'.
11
+ # @param [Watir::Browser, Watir::Container] browser A reference to the browser window or container element to be tested.
12
+ # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the element.
13
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
14
+ # @return [Boolean] True if the Watir or Watir-webdriver function does not throw an exception.
15
+ def click_button_by_id(browser, what, desc = '')
16
+ click(browser, :button, :id, what, desc)
17
+ end
18
+
19
+ # Click a button element identified by the value of its index within the container referred to by <b>*browser*</b>.
20
+ # @param (see #click_button_by_id)
21
+ # @return (see #click_button_by_id)
22
+ def click_link_by_index(browser, what, desc = '')
23
+ click(browser, :link, :index, what, desc)
24
+ end
25
+
26
+ # Click a link element identified by the value of its *:href* attribute. Take care to escape characters in the url that are reserved by Regexp.
27
+ # @param (see #click_button_by_id)
28
+ # @return (see #click_button_by_id)
29
+ def click_link_by_href(browser, what, desc = '')
30
+ click(browser, :link, :href, what, desc)
31
+ end
32
+
33
+ alias click_href click_link_by_href
34
+
35
+ # Click a button element identified by the value of its index within the container referred to by <b>*browser*</b>.
36
+ # @param (see #click_link_by_index)
37
+ # @return (see #click_button_by_id)
38
+ def click_button_by_index(browser, what, desc = '')
39
+ click(browser, :button, :index, what, desc)
40
+ end
41
+
42
+ # Click a button element identified by the value of its *:name* attribute. A button is an HTML element with tag 'input' and type 'submit' or 'button'.
43
+ # @param (see #click_button_by_id)
44
+ # @return (see #click_button_by_id)
45
+ def click_button_by_name(browser, what, desc = '')
46
+ click(browser, :button, :name, what, desc)
47
+ end
48
+
49
+ # Click a button element identified by the value of its *:text* attribute. A button is an HTML element with tag 'input' and type 'submit' or 'button'.
50
+ # @param (see #click_button_by_id)
51
+ # @return (see #click_button_by_id)
52
+ def click_button_by_text(browser, what, desc = '')
53
+ click(browser, :button, :text, what, desc)
54
+ end
55
+
56
+ # Click a button element identified by the value of its *:class* attribute. A button is an HTML element with tag 'input' and type 'submit' or 'button'.
57
+ # @param (see #click_button_by_id)
58
+ # @return (see #click_button_by_id)
59
+ def click_button_by_class(browser, what, desc = '')
60
+ click(browser, :button, :class, what, desc)
61
+ end
62
+
63
+ # Click a button element identified by the value of its *:value* attribute. A button is an HTML element with tag 'input' and type 'submit' or 'button'.
64
+ # @param (see #click_button_by_id)
65
+ # @return (see #click_button_by_id)
66
+ def click_button_by_value(browser, what, desc = '')
67
+ click(browser, :button, :value, what, desc)
68
+ end
69
+
70
+ # Click a button element identified by the value of its *:title* attribute. A button is an HTML element with tag 'input' and type 'submit' or 'button'.
71
+ # @param (see #click_button_by_id)
72
+ # @return (see #click_button_by_id)
73
+ def click_button_by_title(browser, what, desc = '')
74
+ click(browser, :button, :title, what, desc)
75
+ end
76
+
77
+ # Click a link element identified by the value of its *:id* attribute.
78
+ # @param (see #click_button_by_id)
79
+ # @return (see #click_button_by_id)
80
+ def click_link_by_id(browser, what, desc = '')
81
+ click(browser, :link, :id, what, desc)
82
+ end
83
+
84
+ alias click_id click_link_by_id
85
+
86
+ # Click a link element identified by the value of its *:name* attribute.
87
+ # @param (see #click_button_by_id)
88
+ # @return (see #click_button_by_id)
89
+ def click_link_by_name(browser, what, desc = '')
90
+ click(browser, :link, :name, what, desc)
91
+ end
92
+
93
+ alias click_name click_link_by_name
94
+
95
+ # Click a file_field element identified by the value of its *:id* attribute.
96
+ # @param (see #click_button_by_id)
97
+ # @return (see #click_button_by_id)
98
+ def click_file_field_by_id(browser, what, desc = '')
99
+ click(browser, :file_field, :id, what, desc)
100
+ end
101
+
102
+ # Click an image element identified by the value of its *:id* attribute.
103
+ # @param (see #click_button_by_id)
104
+ # @return (see #click_button_by_id)
105
+ def click_img_by_alt(browser, what, desc = '')
106
+ click(browser, :image, :alt, what, desc)
107
+ end
108
+
109
+ # Click an image element identified by the value of its *:title* attribute.
110
+ # @param (see #click_button_by_id)
111
+ # @return (see #click_button_by_id)
112
+ def click_img_by_title(browser, what, desc = '')
113
+ click(browser, :image, :title, what, desc)
114
+ end
115
+
116
+ # Click an image element identified by the value of its *:src* attribute.
117
+ # Take care to escape characters in the source url that are reserved by Regexp.
118
+ # @param (see #click_button_by_id)
119
+ # @return (see #click_button_by_id)
120
+ def click_img_by_src(browser, what, desc = '')
121
+ click(browser, :image, :src, what, desc)
122
+ end
123
+
124
+ def click_js(browser, element, how, what, desc = '')
125
+ click(browser, element, how, what, desc)
126
+ end
127
+
128
+ # Click a link element identified by the value of its *:value* attribute.
129
+ # @param (see #click_button_by_id)
130
+ # @return (see #click_button_by_id)
131
+ def click_link_by_value(browser, what, desc = '')
132
+ click(browser, :link, :value, what, desc)
133
+ end
134
+
135
+ # Click a link element identified by the value in its text (innerHTML).
136
+ # @param (see #click_button_by_id)
137
+ # @return (see #click_button_by_id)
138
+ def click_link_by_text(browser, what, desc = '')
139
+ click(browser, :link, :text, what, desc)
140
+ end
141
+
142
+ alias click_link click_link_by_text
143
+ alias click_text click_link_by_text
144
+ alias click_js_button click_link_by_text
145
+
146
+ # Click a link element identified by the value of its *:class* attribute.
147
+ # @param (see #click_button_by_id)
148
+ # @return (see #click_button_by_id)
149
+ def click_link_by_class(browser, what, desc = '')
150
+ click(browser, :link, :class, what, desc)
151
+ end
152
+
153
+ alias click_class click_link_by_class
154
+
155
+ # Click a span element identified by the value in its text (innerHTML).
156
+ # @param (see #click_button_by_id)
157
+ # @return (see #click_button_by_id)
158
+ def click_span_by_text(browser, what, desc = '')
159
+ click(browser, :span, :text, what, desc)
160
+ end
161
+
162
+ alias click_span_with_text click_span_by_text
163
+
164
+ # Click a link element identified by the value of its *:title* attribute.
165
+ # @param (see #click_button_by_id)
166
+ # @return (see #click_button_by_id)
167
+ def click_link_by_title(browser, what, desc = '')
168
+ click(browser, :link, :title, what, desc)
169
+ end
170
+
171
+ alias click_title click_link_by_title
172
+
173
+ # @!endgroup Click
174
+
175
+ # @!group Click No Wait (UserInput)
176
+
177
+ # Click a button element identified by the value of its *:id* attribute
178
+ # and do not wait for the browser to reach ready state.
179
+ # @param (see #click_button_by_id)
180
+ # @return (see #click_button_by_id)
181
+ def click_button_no_wait_by_id(browser, what, desc = '')
182
+ click_no_wait(browser, :button, :id, what, desc)
183
+ end
184
+
185
+ alias click_button_by_id_no_wait click_button_no_wait_by_id
186
+
187
+ # Click a button element identified by the value of its *:name* attribute
188
+ # and do not wait for the browser to reach ready state.
189
+ # @param (see #click_button_by_id)
190
+ # @return (see #click_button_by_id)
191
+ def click_button_no_wait_by_name(browser, what, desc = '')
192
+ click_no_wait(browser, :button, :name, what, desc)
193
+ end
194
+
195
+ # Click a button element identified by the value of its *:class* attribute
196
+ # and do not wait for the browser to reach ready state.
197
+ # @param (see #click_button_by_id)
198
+ # @return (see #click_button_by_id)
199
+ def click_button_no_wait_by_class(browser, what, desc = '')
200
+ click_no_wait(browser, :button, :class, what, desc)
201
+ end
202
+
203
+ alias click_button_by_class_no_wait click_button_no_wait_by_class
204
+
205
+ # Click a link element identified by the value of its *:id* attribute
206
+ # and do not wait for the browser to reach ready state.
207
+ # @param (see #click_button_by_id)
208
+ # @return (see #click_button_by_id)
209
+ def click_link_no_wait_by_id(browser, what, desc = '')
210
+ click_no_wait(browser, :link, :id, what, desc)
211
+ end
212
+
213
+ alias click_no_wait_id click_link_no_wait_by_id
214
+ alias click_no_wait_by_id click_link_no_wait_by_id
215
+ alias click_id_no_wait click_link_no_wait_by_id
216
+ alias click_no_wait_link_by_id click_link_no_wait_by_id
217
+
218
+ # Click an image element identified by the value of its *:alt* attribute
219
+ # and do not wait for the browser to reach ready state.
220
+ # @param (see #click_button_by_id)
221
+ # @return (see #click_button_by_id)
222
+ def click_img_no_wait_by_alt(browser, what, desc = '')
223
+ click_no_wait(browser, :image, :alt, what, desc)
224
+ end
225
+
226
+ alias click_img_by_alt_no_wait click_img_no_wait_by_alt
227
+
228
+ # Click a button element identified by the value in its text (innerHTML)
229
+ # and do not wait for the browser to reach ready state.
230
+ # @param (see #click_button_by_id)
231
+ # @return (see #click_button_by_id)
232
+ def click_button_no_wait_by_text(browser, what, desc = '')
233
+ click_no_wait(browser, :button, :text, what, desc)
234
+ end
235
+
236
+ # Click a button element identified by the value of its *:value* attribute
237
+ # and do not wait for the browser to reach ready state.
238
+ # @param (see #click_button_by_id)
239
+ # @return (see #click_button_by_id)
240
+ def click_button_no_wait_by_value(browser, what, desc = '')
241
+ click_no_wait(browser, :button, :value, what, desc)
242
+ end
243
+
244
+ # Click a button element identified by the value of its *:name* attribute
245
+ # and do not wait for the browser to reach ready state.
246
+ # @param (see #click_button_by_id)
247
+ # @return (see #click_button_by_id)
248
+ def click_link_by_name_no_wait(browser, what, desc = '')
249
+ click_no_wait(browser, :link, :name, what, desc)
250
+ end
251
+
252
+ alias click_no_wait_name click_link_by_name_no_wait
253
+ alias click_name_no_wait click_link_by_name_no_wait
254
+
255
+ # Click a link element identified by the value in its text (innerHTML)
256
+ # and do not wait for the browser to reach ready state.
257
+ # @param (see #click_button_by_id)
258
+ # @return (see #click_button_by_id)
259
+ def click_link_by_text_no_wait(browser, what, desc = '')
260
+ click_no_wait(browser, :link, :text, what, desc)
261
+ end
262
+
263
+ alias click_no_wait_text click_link_by_text_no_wait
264
+ alias click_text_no_wait click_link_by_text_no_wait
265
+
266
+ # Click a link element identified by the value of its *:title* attribute
267
+ # and do not wait for the browser to reach ready state.
268
+ # @param (see #click_button_by_id)
269
+ # @return (see #click_button_by_id)
270
+ def click_title_no_wait(browser, what, desc = '')
271
+ click_no_wait(browser, :link, :title, what, desc)
272
+ end
273
+
274
+ # Click a link element identified by the value of its *:href* attribute and do not wait for the browser to reach ready state.
275
+ # Take care to escape characters in the url that are reserved by Regexp.
276
+ # @param (see #click_button_by_id)
277
+ # @return (see #click_button_by_id)
278
+ def click_link_no_wait_by_href(browser, what, desc = '')
279
+ click_no_wait(browser, :link, :href, what, desc)
280
+ end
281
+
282
+ alias click_href_no_wait click_link_no_wait_by_href
283
+
284
+ # @!endgroup Click No Wait
285
+
286
+ # @!group Xpath (UserInput)
287
+
288
+ # Click a button element identified by the value of its *:id* attribute using the xpath functionality in Watir.
289
+ # A button is an HTML element with tag 'input' and type 'submit' or 'button'.
290
+ # @note Normally used only when the element is not located by other methods.
291
+ # @param (see #click_button_by_id)
292
+ # @return (see #click_button_by_id)
293
+ def click_button_by_xpath_and_id(browser, what, desc = '')
294
+ click(browser, :button, :xpath, "//a[@id = '#{what}']", desc)
295
+ end
296
+
297
+ alias click_button_by_xpath click_button_by_xpath_and_id
298
+
299
+ # Click a link element identified by the value of its *:id* attribute using the xpath functionality in Watir.
300
+ # @note Normally used only when the element is not located by other methods.
301
+ # @param (see #click_button_by_id)
302
+ # @return (see #click_button_by_id)
303
+ def click_link_by_xpath_and_id(browser, what, desc = '')
304
+ click(browser, :link, :xpath, "//a[@id = '#{what}']", desc)
305
+ end
306
+
307
+ alias click_link_by_xpath click_link_by_xpath_and_id
308
+
309
+ # Click an image element identified by the value of its *:name* attribute using the xpath functionality in Watir.
310
+ # @note Normally used only when the element is not located by other methods.
311
+ # @param (see #click_button_by_id)
312
+ # @return (see #click_button_by_id)
313
+ def click_img_by_xpath_and_name(browser, what, desc = '')
314
+ click(browser, :image, :xpath, "//a[@id = '#{what}']", desc)
315
+ end
316
+
317
+ alias click_img_by_xpath click_img_by_xpath_and_name
318
+ alias click_image_by_xpath click_img_by_xpath_and_name
319
+ alias click_image_by_xpath_and_name click_img_by_xpath_and_name
320
+
321
+ # @!endgroup Xpath
322
+
323
+ # @!group Tables (UserInput)
324
+
325
+ # Click the first row which contains a particular string in a table identified by the value in its *:id* attribute.
326
+ #
327
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
328
+ # @param [String, Regexp] what A string or a regular expression to be found in the *how* attribute that uniquely identifies the element.
329
+ # @param [String] text Full text string to be found in the table row.
330
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
331
+ # @param [Fixnum] column Integer indicating the column to search for the text string.
332
+ # If not supplied all columns will be checked.
333
+ # @return (see #click_button_by_id)
334
+ #
335
+ def click_table_row_with_text_by_id(browser, what, text, desc = '', column = nil)
336
+ click_table_row_with_text(browser, :id, what, text, desc, column)
337
+ end
338
+
339
+ # Click the first row which contains a particular string in a table identified by its index
340
+ # in the array of tables contained in <b>*browser*</b>.
341
+ # A specific column in the table can also be specified.
342
+ #
343
+ # @param (see #click_table_row_with_text_by_id)
344
+ # @return (see #click_button_by_id)
345
+ #
346
+ def click_table_row_with_text_by_index(browser, what, text, desc = '', column = nil)
347
+ click_table_row_with_text(browser, :id, what, text, desc, column)
348
+ end
349
+
350
+ # Double click the first row which contains a particular string in a table identified by the value in its *:id* attribute.
351
+ # A specific column in the table can also be specified.
352
+ #
353
+ # @param (see #click_table_row_with_text_by_id)
354
+ # @return (see #click_button_by_id)
355
+ #
356
+ def double_click_table_row_with_text_by_id(browser, what, text, desc = '', column = nil)
357
+ double_click_table_row_with_text(browser, :id, what, text, desc, column)
358
+ end
359
+
360
+ # Double click the first row which contains a particular string in a table identified by its index
361
+ # in the array of tables contained in <b>*browser*</b>.
362
+ # A specific column in the table can also be specified.
363
+ # @param (see #click_table_row_with_text_by_id)
364
+ # @return (see #click_button_by_id)
365
+ #
366
+ def double_click_table_row_with_text_by_index(browser, what, text, desc = '', column = nil)
367
+ double_click_table_row_with_text(browser, :index, what, text, desc, column)
368
+ end
369
+
370
+ # @!endgroup Tables
371
+
372
+ # @!group Select (UserInput)
373
+
374
+ # Select option from select list (dropdown) identified by the value in its *:id* attribute. Option is identified by *which* and *value*
375
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
376
+ # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the element.
377
+ # @param [String/Rexexp] option A string or regular expression that will uniquely identify the option to select.
378
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
379
+ # @param [Boolean] nofail If true do not log a failed message if the option is not found in the select list.
380
+ # @return (see #click_button_by_id)
381
+ def select_option_by_id_and_option_text(browser, what, option, nofail = false, desc = '')
382
+ select_option(browser, :id, what, :text, option, desc, nofail)
383
+ end
384
+
385
+ alias select_option_by_id select_option_by_id_and_option_text
386
+ alias select_option_by_id_and_text select_option_by_id_and_option_text
387
+
388
+ # Select option from select list (dropdown) identified by the value in its *:name* attribute. Option is selected by its *:text* attribute.
389
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
390
+ # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the element.
391
+ # @param [String/Rexexp] option A string or regular expression that will uniquely identify the option to select.
392
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
393
+ # @return (see #click_button_by_id)
394
+ def select_option_by_name_and_option_text(browser, what, option, desc = '')
395
+ select_option(browser, :name, what, :text, option, desc)
396
+ end
397
+
398
+ alias select_option_by_name select_option_by_name_and_option_text
399
+
400
+ # Select option from select list (dropdown) identified by the value in its *:name* attribute. Option is selected by its *:text* attribute.
401
+ # @param (see #select_option_by_name_and_option_text)
402
+ # @return (see #click_button_by_id)
403
+ def select_option_by_title_and_option_text(browser, what, option, desc = '')
404
+ select_option(browser, :title, what, :text, option, desc)
405
+ end
406
+
407
+ # Select option from select list (dropdown) identified by the value in its *:class* attribute. Option is selected by its *:text* attribute.
408
+ # @param (see #select_option_by_name_and_option_text)
409
+ # @return (see #click_button_by_id)
410
+ def select_option_by_class_and_option_text(browser, what, option, desc = '')
411
+ select_option(browser, :class, what, :text, option, desc)
412
+ end
413
+
414
+ # Select option from select list (dropdown) identified by the value in its *:name* attribute. Option is selected by its *:value* attribute.
415
+ # @param (see #select_option_by_name_and_option_text)
416
+ # @return (see #click_button_by_id)
417
+ def select_option_by_name_and_option_value(browser, what, option, desc = '')
418
+ select_option(browser, :name, what, :value, option, desc)
419
+ end
420
+
421
+ # Select option from select list (dropdown) identified by the value in its *:id* attribute. Option is selected by its *:value* attribute.
422
+ # @param (see #select_option_by_name_and_option_text)
423
+ # @return (see #click_button_by_id)
424
+ def select_option_by_id_and_option_value(browser, what, option, desc = '')
425
+ select_option(browser, :id, what, :value, option, desc)
426
+ end
427
+
428
+ # Select option from select list (dropdown) identified by the value in its *:id* attribute.
429
+ # Option is selected by its index withing the select list's array of options.
430
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
431
+ # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the element.
432
+ # @param [Fixnum] index An integer that indicates the index of the element within the array of options.
433
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
434
+ # @return (see #click_button_by_id)
435
+ def select_option_by_id_and_index(browser, what, index, desc = '')
436
+ select_option(browser, :id, what, :index, index, desc)
437
+ end
438
+
439
+ # Select option from select list (dropdown) identified by the value in its *:name* attribute. Option is selected by its *:index* attribute.
440
+ # @param (see #select_option_by_id_and_index)
441
+ # @return (see #click_button_by_id)
442
+ def select_option_by_name_and_index(browser, what, option, desc = '')
443
+ select_option(browser, :name, what, :index, option, desc)
444
+ end
445
+
446
+ # Select option from select list (dropdown) identified by the xpath command supplied in *what*. Option is selected by its *:index* attribute.
447
+ # @param (see #select_option_by_id_and_index)
448
+ # @return (see #click_button_by_id)
449
+ def select_option_by_xpath_and_index(browser, what, option, desc = '')
450
+ select_option(browser, :xpath, what, :index, option, desc)
451
+ end
452
+
453
+ # @!endgroup Select
454
+
455
+ # @!group Set (UserInput)
456
+
457
+ # Set checkbox as checked. Checkbox is identified by the attribute specified in *how* with value *what*. It's *:value* attribute can also be used
458
+ # when needed by specifying *value*.
459
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
460
+ # @param [Symbol] how The element attribute used to identify the specific checkbox.
461
+ # Valid values depend on the kind of element.
462
+ # Common values: :text, :id, :title, :name, :class, :href (:link only)
463
+ # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the checkbox.
464
+ # @param [String, Regexp] value A string or a regular expression to be found in the *:value* attribute of the checkbox.
465
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
466
+ # @return (see #click_button_by_id)
467
+ def set_checkbox(browser, how, what, value = nil, desc = '')
468
+ set(browser, :checkbox, how, what, value, desc)
469
+ end
470
+
471
+ # Set checkbox as checked identified by its *:class* attribute with the value in *what*. It's *:value* attribute can also be used
472
+ # when needed by specifying *value*.
473
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
474
+ # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the checkbox.
475
+ # @param [String, Regexp] value A string or a regular expression to be found in the *:value* attribute of the checkbox.
476
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
477
+ # @return (see #click_button_by_id)
478
+ def set_checkbox_by_class(browser, what, value = nil, desc = '')
479
+ set(browser, :checkbox, :class, what, value, desc)
480
+ end
481
+
482
+ # Set checkbox as checked identified by its *:class* attribute with the value in *what*. It's *:value* attribute can also be used
483
+ # when needed by specifying *value*.
484
+ # @param (see #set_checkbox_by_class)
485
+ # @return (see #click_button_by_id)
486
+ def set_checkbox_by_id(browser, what, value = nil, desc = '')
487
+ set(browser, :checkbox, :id, what, value, desc)
488
+ end
489
+
490
+ # Set checkbox as checked identified by its *:name* attribute with the value in *what*. It's *:value* attribute can also be used
491
+ # when needed by specifying *value*.
492
+ # @param (see #set_checkbox_by_class)
493
+ # @return (see #click_button_by_id)
494
+ def set_checkbox_by_name(browser, what, value = nil, desc = '')
495
+ set(browser, :checkbox, :name, what, value, desc)
496
+ end
497
+
498
+ # Set checkbox as checked identified by its *:title* attribute with the value in *what*. It's *:value* attribute can also be used
499
+ # when needed by specifying *value*.
500
+ # @param (see #set_checkbox_by_class)
501
+ # @return (see #click_button_by_id)
502
+ def set_checkbox_by_title(browser, what, value = nil, desc = '')
503
+ set(browser, :checkbox, :title, what, value, desc)
504
+ end
505
+
506
+ # Set checkbox as checked identified by its *:value* attribute with the value in *what*.
507
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
508
+ # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the checkbox.
509
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
510
+ # @return (see #click_button_by_id)
511
+ def set_checkbox_by_value(browser, what, desc = '')
512
+ set(browser, :checkbox, :value, what, nil, desc)
513
+ end
514
+
515
+ # Set radio button as set. Radio is identified by the attribute specified in *how* with value *what*. It's *:value* attribute can also be used
516
+ # when needed by specifying *value*.
517
+ # @param (see #set_checkbox)
518
+ # @return (see #click_button_by_id)
519
+ def set_radio(browser, how, what, value = nil, desc = '')
520
+ set(browser, :radio, how, what, value, desc)
521
+ end
522
+
523
+ # Set radio button as set identified by its *:class* attribute with the value in *what*. It's *:value* attribute can also be used
524
+ # when needed by specifying *value*.
525
+ # @param (see #set_checkbox_by_class)
526
+ def set_radio_by_class(browser, what, value = nil, desc = '')
527
+ set(browser, :radio, :class, what, value, desc)
528
+ end
529
+
530
+ # Set radio button as set identified by its *:id* attribute with the value in *what*. It's *:value* attribute can also be used
531
+ # when needed by specifying *value*.
532
+ # @param (see #set_checkbox_by_class)
533
+ # @return (see #click_button_by_id)
534
+ def set_radio_by_id(browser, what, value = nil, desc = '')
535
+ set(browser, :radio, :id, what, value, desc)
536
+ end
537
+
538
+ # Set radio button as set identified by its index within the array of radio buttons found in the container specified by *browser*.
539
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
540
+ # @param [Fixnum] index An integer that indicates the index of the element within *browser*.
541
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
542
+ # @return (see #click_button_by_id)
543
+ def set_radio_by_index(browser, index, desc = '')
544
+ set(browser, :radio, :index, index, nil, desc)
545
+ end
546
+
547
+ # Set radio button as set identified by its *:name* attribute with the value in *what*. It's *:value* attribute can also be used
548
+ # when needed by specifying *value*.
549
+ # @param (see #set_checkbox_by_class)
550
+ # @return (see #click_button_by_id)
551
+ def set_radio_by_name(browser, what, value = nil, desc = '')
552
+ set(browser, :radio, :name, what, value, desc)
553
+ end
554
+
555
+ # Set radio button as set identified by its *:title* attribute with the value in *what*. It's *:value* attribute can also be used
556
+ # when needed by specifying *value*.
557
+ # @param (see #set_checkbox_by_class)
558
+ # @return (see #click_button_by_id)
559
+ def set_radio_by_title(browser, what, value = nil, desc = '')
560
+ set(browser, :radio, :title, what, value, desc)
561
+ end
562
+
563
+ # Set radio button as set identified by its *:value* attribute with the value in *what*.
564
+ # @param (see #click_button_by_id)
565
+ # @return (see #click_button_by_id)
566
+ def set_radio_by_value(browser, what, desc = '')
567
+ set(browser, :radio, :value, what, nil, desc)
568
+ end
569
+
570
+ # Set radio button as set identified by its *:name* attribute with the value in *what*
571
+ # and its index within the array of radio buttons with that :name
572
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
573
+ # @param [String, Regexp] what A string or a regular expression to be found in the *:name* attribute that identifies the group of radio buttons.
574
+ # @param [Fixnum] index An integer that indicates the index of the radio button to be set.
575
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
576
+ # @return (see #click_button_by_id)
577
+ def set_radio_by_name_and_index(browser, what, index, desc = '')
578
+ set_radio_two_attributes(browser, :name, what, :index, index, desc)
579
+ end
580
+
581
+ # Set radio button as set identified by its *:name* attribute with the value in *what*
582
+ # and its index within the array of radio buttons with that :name
583
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
584
+ # @param [String, Regexp] what A string or a regular expression to be found in the *:name* attribute that identifies the group of radio buttons.
585
+ # @param [String, Regexp] text A string or a regular expression to be found in the *:text* attribute that uniquely identifies the the radio button to be set.
586
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
587
+ # @return (see #click_button_by_id)
588
+ def set_radio_by_name_and_text(browser, what, text, desc = '')
589
+ set_radio_two_attributes(browser, :name, what, :text, text, desc)
590
+ end
591
+
592
+ # Set radio button as set identified by its *:value* attribute with the value in *what*
593
+ # and its index within the array of radio buttons with that :name
594
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
595
+ # @param [String, Regexp] value A string or a regular expression to be found in the *:value* attribute that identifies the group of radio buttons.
596
+ # @param [Fixnum] index An integer that indicates the index of the radio button to be set.
597
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
598
+ # @return (see #click_button_by_id)
599
+ def set_radio_by_value_and_index(browser, value, index, desc = '')
600
+ set_radio_two_attributes(browser, :value, value, :index, index, desc)
601
+ end
602
+
603
+ # Set radio button as set identified by its *:name* attribute with the value in *what*
604
+ # and the *:value* attribute with the value in *value*.
605
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
606
+ # @param [String, Regexp] what A string or a regular expression to be found in the *:name* attribute that identifies the group of radio buttons.
607
+ # @param [String, Regexp] value A string or a regular expression to be found in the *:value* attribute that uniquely identifies the the radio button to be set.
608
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
609
+ # @return (see #click_button_by_id)
610
+ def set_radio_by_name_and_value(browser, what, value, desc = '')
611
+ set_radio(browser, :name, what, value, desc)
612
+ end
613
+
614
+ # Set file field element, identified by its *:name* attribute with the value in *what*.
615
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
616
+ # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the element.
617
+ # @param [String] filespec The full path and name of the target file.
618
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
619
+ # @return (see #click_button_by_id)
620
+ def set_file_field_by_name(browser, what, filespec, desc = '')
621
+ set_file_field(browser, :name, what, filespec, desc)
622
+ end
623
+
624
+ # Set file field element, identified by its *:id* attribute with the value in *what*.
625
+ # @param (see #set_file_field_by_name)
626
+ # @return (see #click_button_by_id)
627
+ def set_file_field_by_id(browser, what, filespec, desc = '')
628
+ set_file_field(browser, :id, what, filespec, desc)
629
+ end
630
+
631
+ # Set text field as identified by its *:name* attribute with value in *what* to the string specified in *value*.
632
+ # This method validates that the text field has been set to the specified value.
633
+ # The value verification can be turned off by setting *skip_value_check* to true.
634
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
635
+ # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the element.
636
+ # @param [String] value A string to enter into the text field.
637
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output.
638
+ # Required if *skip_value_check* is set to true.
639
+ # @param [Boolean] skip_value_check Forces verification of value in text field to pass.
640
+ # @return (see #click_button_by_id)
641
+ def set_textfield_by_name(browser, what, value, desc = '', skip_value_check = false)
642
+ set_text_field(browser, :name, what, value, desc, skip_value_check)
643
+ end
644
+
645
+ # Set text field as identified by its *:id* attribute with value in *what* to the string specified in *value*.
646
+ # This method validates that the text field has been set to the specified value.
647
+ # The value verification can be turned off by setting *skip_value_check* to true.
648
+ # @param (see #set_textfield_by_name)
649
+ # @return (see #click_button_by_id)
650
+ def set_textfield_by_id(browser, what, value, desc = '', skip_value_check = false)
651
+ set_text_field(browser, :id, what, value, desc, skip_value_check)
652
+ end
653
+
654
+ # Set text field as identified by its *:class* attribute with value in *what* to the string specified in *value*.
655
+ # This method validates that the text field has been set to the specified value.
656
+ # The value verification can be turned off by setting *skip_value_check* to true.
657
+ # @param (see #set_textfield_by_name)
658
+ # @return (see #click_button_by_id)
659
+ def set_textfield_by_title(browser, what, value, desc = '', skip_value_check = false)
660
+ set_text_field(browser, :title, what, value, desc, skip_value_check)
661
+ end
662
+
663
+ # Set text field as identified by its *:class* attribute with value in *what* to the string specified in *value*.
664
+ # This method validates that the text field has been set to the specified value.
665
+ # The value verification can be turned off by setting *skip_value_check* to true.
666
+ # @param (see #set_textfield_by_name)
667
+ def set_textfield_by_class(browser, what, value, desc = '', skip_value_check = false)
668
+ set_text_field(browser, :class, what, value, desc, skip_value_check)
669
+ end
670
+
671
+ # @!endgroup Set
672
+
673
+ # @!group Clear (UserInput)
674
+
675
+ # Clear (uncheck) checkbox identified by the attribute specified in *how* with value *what*.
676
+ # It's *:value* attribute can also be used when needed by specifying *value*.
677
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
678
+ # @param [Symbol] how The element attribute used to identify the specific checkbox.
679
+ # Valid values depend on the kind of element.
680
+ # Common values: :text, :id, :title, :name, :class.
681
+ # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the element.
682
+ # @param [String, Regexp] value A string or a regular expression to be found in the *:value* attribute of the element.
683
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
684
+ # @return (see #click_button_by_id)
685
+ def clear_checkbox(browser, how, what, value = nil, desc = '')
686
+ clear(browser, :checkbox, how, what, value, desc)
687
+ end
688
+
689
+ # Clear (uncheck) checkbox identified by its *:name* attribute with value *what*.
690
+ # It's *:value* attribute can also be used when needed by specifying *value*.
691
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
692
+ # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the element.
693
+ # @param [String, Regexp] value A string or a regular expression to be found in the *:value* attribute of the element.
694
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
695
+ # @return (see #click_button_by_id)
696
+ def clear_checkbox_by_name(browser, what, value = nil, desc = '')
697
+ clear(browser, :checkbox, :name, what, value, desc)
698
+ end
699
+
700
+ # Clear (uncheck) checkbox identified by its *:id* attribute with value *what*.
701
+ # It's *:value* attribute can also be used when needed by specifying *value*.
702
+ # @param (see #set_file_field_by_name)
703
+ # @return (see #click_button_by_id)
704
+ def clear_checkbox_by_id(browser, strg, value = nil, desc = '')
705
+ clear_checkbox(browser, :id, strg, desc)
706
+ end
707
+
708
+ # Clear (unset) radio button identified by the attribute specified in *how* with value *what*.
709
+ # It's *:value* attribute can also be used when needed by specifying *value*.
710
+ # This clears the specified radio without setting any other radio buttons on.
711
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
712
+ # @param [Symbol] how The element attribute used to identify the specific checkbox.
713
+ # Valid values depend on the kind of element.
714
+ # Common values: :text, :id, :title, :name, :class.
715
+ # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the element.
716
+ # @param [String, Regexp] value A string or a regular expression to be found in the *:value* attribute of the element.
717
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
718
+ # @return (see #click_button_by_id)
719
+ def clear_radio(browser, how, what, value = nil, desc = '')
720
+ clear(browser, :radio, how, what, value, desc)
721
+ end
722
+
723
+ # @!endgroup Clear
724
+
725
+ # @!group Fire Event (UserInput)
726
+
727
+ # Fire an event on a link element identified by the value in its text (innerHTML)
728
+ #
729
+ # @example
730
+ # # html for a link element:
731
+ # # <a href="http://pragmaticprogrammer.com/titles/ruby/" id="one" name="book">Pickaxe</a>
732
+ #
733
+ # fire_event_on_link_by_text(browser, 'Pickaxe', 'onMouseOver')
734
+ #
735
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
736
+ # @param [String, Regexp] what A string or a regular expression to be found in the *how* attribute that uniquely identifies the element.
737
+ # @param [String] event A string identifying the event to be fired.
738
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
739
+ # @return (see #click_button_by_id)
740
+ #
741
+ def fire_event_on_link_by_text(browser, what, event, desc = '')
742
+ fire_event(browser, :link, :text, what, event, desc)
743
+ end
744
+
745
+ alias fire_event_text fire_event_on_link_by_text
746
+ alias fire_event_by_text fire_event_on_link_by_text
747
+
748
+ # Fire an event on a link element identified by the value in its *:id* attribute.
749
+ #
750
+ # @example
751
+ # # html for a link element:
752
+ # # <a href="http://pragmaticprogrammer.com/titles/ruby/" id="one" name="book">Pickaxe</a>
753
+ #
754
+ # fire_event_on_link_by_id(browser, 'one', 'onMouseOver')
755
+ #
756
+ # @param (see #fire_event_on_link_by_text)
757
+ # @return (see #click_button_by_id)
758
+ #
759
+ def fire_event_on_link_by_id(browser, what, event, desc = '')
760
+ fire_event(browser, :link, :id, what, event, desc)
761
+ end
762
+
763
+ alias fire_event_id fire_event_on_link_by_id
764
+ alias fire_event_by_id fire_event_on_link_by_id
765
+
766
+ # Fire an event on a image element identified by the value in its *:src* attribute.
767
+ # Take care to escape characters in the source url that are reserved by Regexp.
768
+ # @param (see #fire_event_on_link_by_text)
769
+ # @return (see #click_button_by_id)
770
+ #
771
+ def fire_event_on_image_by_src(browser, what, event, desc = '')
772
+ fire_event(browser, :img, :src, what, event, desc)
773
+ end
774
+
775
+ alias fire_event_src fire_event_on_image_by_src
776
+ alias fire_event_image_by_src fire_event_on_image_by_src
777
+
778
+ # @!endgroup Fire Event
779
+
780
+ # @!group Validations
781
+
782
+ # @param (see #clear_checkbox_by_name)
783
+ # @return [Boolean] True if the answer to the assertion expressed in the called method name is yes.
784
+ def validate_textfield_not_value_by_name(browser, what, value, desc = '')
785
+ textfield_does_not_equal?(browser, :name, what, value, desc)
786
+ end
787
+
788
+ alias validate_textfield_no_value_by_name validate_textfield_not_value_by_name
789
+
790
+ # @param (see #clear_checkbox_by_name)
791
+ # @return (see #validate_textfield_not_value_by_name)
792
+ def validate_textfield_not_value_by_id(browser, what, value, desc = '')
793
+ textfield_does_not_equal?(browser, :id, what, value, desc)
794
+ end
795
+
796
+ alias validate_textfield_no_value_by_id validate_textfield_not_value_by_id
797
+
798
+ # @param (see #click_button_by_id)
799
+ # @return (see #validate_textfield_not_value_by_name)
800
+ def validate_textfield_empty_by_name(browser, what, desc = '')
801
+ textfield_empty?(browser, :name, what, desc)
802
+ end
803
+
804
+ # @param (see #click_button_by_id)
805
+ # @return (see #validate_textfield_not_value_by_name)
806
+ def validate_textfield_empty_by_id(browser, what, desc = '')
807
+ textfield_empty?(browser, :id, what, desc)
808
+ end
809
+
810
+ # @param (see #click_button_by_id)
811
+ # @return (see #validate_textfield_not_value_by_name)
812
+ def validate_textfield_empty_by_title(browser, what, desc = '')
813
+ textfield_empty?(browser, :title, what, desc)
814
+ end
815
+
816
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
817
+ # @param [String, Regexp] what A string or a regular expression to be found in the specified attribute that uniquely identifies the element.
818
+ # @param [String, Regexp] expected A string or a regular expression to be found in the *:value* attribute of the element.
819
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
820
+ # @return (see #validate_textfield_not_value_by_name)
821
+ def validate_textfield_value_by_name(browser, what, expected, desc = '')
822
+ textfield_equals?(browser, :name, what, expected, desc)
823
+ end
824
+
825
+ # @param (see #clear_checkbox_by_name)
826
+ # @return (see #validate_textfield_not_value_by_name)
827
+ def validate_textfield_value_by_id(browser, what, expected, desc = '')
828
+ textfield_equals?(browser, :id, what, expected, desc)
829
+ end
830
+
831
+ # @param (see #click_button_by_id)
832
+ # @return (see #validate_textfield_not_value_by_name)
833
+ def validate_textfield_visible_by_name(browser, what, desc = '')
834
+ visible?(browser, :text_field, :name, what, desc)
835
+ end
836
+
837
+ alias visible_textfield_by_name validate_textfield_visible_by_name
838
+
839
+ # @param (see #click_button_by_id)
840
+ # @return (see #validate_textfield_not_value_by_name)
841
+ def validate_textfield_disabled_by_name(browser, what, desc = '')
842
+ disabled?(browser, :text_field, :name, what, desc)
843
+ end
844
+
845
+ alias disabled_textfield_by_name validate_textfield_disabled_by_name
846
+
847
+ # @param (see #click_button_by_id)
848
+ # @return (see #validate_textfield_not_value_by_name)
849
+ def validate_textfield_enabled_by_name(browser, what, desc = '')
850
+ enabled?(browser, :text_field, :name, what, desc)
851
+ end
852
+
853
+ alias enabled_textfield_by_name validate_textfield_enabled_by_name
854
+
855
+ # @param (see #click_button_by_id)
856
+ # @return (see #validate_textfield_not_value_by_name)
857
+ def validate_textfield_not_visible_by_name(browser, what, desc = '')
858
+ not_visible?(browser, :text_field, :name, what, desc)
859
+ end
860
+
861
+ alias visible_no_textfield_by_name validate_textfield_not_visible_by_name
862
+
863
+ # @param (see #click_button_by_id)
864
+ # @return (see #validate_textfield_not_value_by_name)
865
+ def validate_radio_not_set(browser, what, desc = '')
866
+ not_set?(browser, :id, what, desc)
867
+ end
868
+
869
+ alias validate_not_radioset validate_radio_not_set
870
+
871
+ # @param (see #click_button_by_id)
872
+ # @return (see #validate_textfield_not_value_by_name)
873
+ def radio_is_set?(browser, what, desc = '')
874
+ set?(browser, :id, what, desc)
875
+ end
876
+
877
+ alias validate_radioset radio_is_set?
878
+ alias validate_radio_set radio_is_set?
879
+
880
+ # @param (see #click_button_by_id)
881
+ # @return (see #validate_textfield_not_value_by_name)
882
+ def validate_radioset_by_name(browser, what, desc = '')
883
+ set?(browser, :name, what, desc)
884
+ end
885
+
886
+ # @param (see #click_button_by_id)
887
+ # @return (see #validate_textfield_not_value_by_name)
888
+ def checked_by_id?(browser, what, desc = '')
889
+ checked?(browser, :id, what, desc)
890
+ end
891
+
892
+ alias validate_check checked_by_id?
893
+ alias checkbox_is_checked? checked_by_id?
894
+
895
+ # @param (see #click_button_by_id)
896
+ # @return (see #validate_textfield_not_value_by_name)
897
+ def checkbox_is_enabled?(browser, what, desc = '')
898
+ enabled?(browser, :checkbox, :id, what, desc)
899
+ end
900
+
901
+ alias validate_check_enabled checkbox_is_enabled?
902
+
903
+ # @param (see #click_button_by_id)
904
+ # @return (see #validate_textfield_not_value_by_name)
905
+ def checkbox_is_disabled?(browser, what, desc = '')
906
+ disabled?(browser, :checkbox, :id, what, desc)
907
+ end
908
+
909
+ alias validate_check_disabled checkbox_is_disabled?
910
+
911
+ # @param (see #click_button_by_id)
912
+ # @return (see #validate_textfield_not_value_by_name)
913
+ def validate_check_by_class(browser, what, desc)
914
+ checked?(browser, :class, what, desc)
915
+ end
916
+
917
+ # @param (see #click_button_by_id)
918
+ # @return (see #validate_textfield_not_value_by_name)
919
+ def checkbox_not_checked?(browser, what, desc)
920
+ not_checked?(browser, :id, what, desc)
921
+ end
922
+
923
+ alias validate_not_check checkbox_not_checked?
924
+
925
+ # @param (see #click_button_by_id)
926
+ # @return (see #validate_textfield_not_value_by_name)
927
+ def validate_image(browser, what, desc = '', nofail = false)
928
+ exists?(browser, :image, :src, what, desc)
929
+ end
930
+
931
+ # Verify that link identified by *:text* exists.
932
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
933
+ # @param [String, Regexp] what A string or a regular expression to be found in the *how* attribute that uniquely identifies the element.
934
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
935
+ # @return [Boolean] True if the element exists.
936
+ def validate_link_exist(browser, what, desc = '')
937
+ exists?(browser, :link, :text, what, nil, desc)
938
+ end
939
+
940
+ # Verify that link identified by *:text* does not exist.
941
+ # @param (see #click_button_by_id)
942
+ # @return [Boolean] True if the element is does not exist.
943
+ def link_not_exist?(browser, what, desc = '')
944
+ does_not_exist?(browser, :link, :text, what, nil, desc)
945
+ end
946
+
947
+ alias validate_link_not_exist link_not_exist?
948
+
949
+ # Verify that div identified by *:id* is visible.
950
+ # @param (see #click_button_by_id)
951
+ # @return [Boolean] True if the element is visible.
952
+ def validate_div_visible_by_id(browser, what, desc = '')
953
+ visible?(browser, :div, :id, what, desc)
954
+ end
955
+
956
+ # Verify that div identified by *:id* is not visible.
957
+ # @param (see #click_button_by_id)
958
+ # @return [Boolean] True if the element is not visible.
959
+ def validate_div_not_visible_by_id(browser, what, desc = '')
960
+ not_visible?(browser, :div, :id, what, desc)
961
+ end
962
+
963
+ # Verify that div click_button_by_id by *:text* is enabled.
964
+ # @param (see #click_button_by_id)
965
+ # @return [Boolean] True if the element is enabled.
966
+ def link_enabled?(browser, what, desc = '')
967
+ enabled?(browser, :link, :text, what, desc)
968
+ end
969
+
970
+ alias validate_link_enabled link_enabled?
971
+ alias check_link_enabled link_enabled?
972
+
973
+ # Verify that div identified by *:text* is disabled.
974
+ # @param (see #click_button_by_id)
975
+ # @return [Boolean] True if the element is disabled.
976
+ def link_disabled?(browser, what, desc = '')
977
+ disabled?(browser, :link, :text, what, desc)
978
+ end
979
+
980
+ alias validate_link_not_enabled link_disabled?
981
+
982
+ def check_element_is_disabled(browser, element, how, what, desc = '')
983
+ disabled?(browser, element, how, what, desc)
984
+ end
985
+
986
+ # Verify that select list, identified by :id and *what* contains *text* and select it if present
987
+ # @param (see #clear_checkbox_by_name)
988
+ # @return (see #validate_textfield_not_value_by_name)
989
+ def validate_list(browser, what, expected, desc = '')
990
+ validate_list_by_id(browser, what, expected, desc)
991
+ end
992
+
993
+ # Verify select list, identified by *:id*, does not contain *text*
994
+ # @param (see #clear_checkbox_by_name)
995
+ # @return (see #validate_textfield_not_value_by_name)
996
+ def validate_no_list(browser, what, expected, desc = '')
997
+ select_list_does_not_include?(browser, :id, what, expected, desc)
998
+ end
999
+
1000
+ # @param (see #clear_checkbox_by_name)
1001
+ # @return (see #validate_textfield_not_value_by_name)
1002
+ def text_in_span_equals?(browser, how, what, expected, desc = '')
1003
+ text_in_element_equals?(browser, :span, how, what, expected, desc)
1004
+ end
1005
+
1006
+ # @param (see #clear_checkbox_by_name)
1007
+ # @return (see #validate_textfield_not_value_by_name)
1008
+ def span_contains_text?(browser, how, what, expected, desc = '')
1009
+ element_contains_text?(browser, :span, how, what, expected, desc)
1010
+ end
1011
+
1012
+ alias valid_text_in_span span_contains_text?
1013
+
1014
+ # @param (see #clear_checkbox_by_name)
1015
+ # @return (see #validate_textfield_not_value_by_name)
1016
+ def validate_text_in_span_by_id(browser, what, expected, desc = '')
1017
+ element_contains_text?(browser, :span, :id, what, expected, desc)
1018
+ end
1019
+
1020
+ # @!endgroup Validations
1021
+
1022
+ # @!group Find
1023
+
1024
+ # Return the list of options in a select list identified by its *:id* attribute.
1025
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
1026
+ # @param [String, Regexp] what A string or a regular expression to be found in the designated attribute that uniquely identifies the element.
1027
+ # @param [Boolean] dbg Triggers additional debug logging when set to true.
1028
+ # @return [Array]
1029
+ def get_select_options_by_id(browser, what, dbg = false)
1030
+ get_select_options(browser, :id, what, dbg)
1031
+ end
1032
+
1033
+ # Return the list of options in a select list identified by its *:name* attribute.
1034
+ # @param (see #get_select_options_by_id)
1035
+ # @return [Array]
1036
+ def get_select_options_by_name(browser, what, dbg = false)
1037
+ get_select_options(browser, :name, what, dbg)
1038
+ end
1039
+
1040
+ # Return the list of _selected_ options in a select list identified by its *:id* attribute.
1041
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
1042
+ # @param [String, Regexp] what A string or a regular expression to be found in the designated attribute that uniquely identifies the element.
1043
+ # @return [Array]
1044
+ def get_selected_options_by_id(browser, what)
1045
+ get_selected_options(browser, :id, what)
1046
+ end
1047
+
1048
+ alias get_selected_option_by_id get_selected_options_by_id
1049
+
1050
+ # Return the list of _selected_ options in a select list identified by its *:name* attribute.
1051
+ # @param (see #get_select_options_by_id)
1052
+ # @return [Array]
1053
+ def get_selected_options_by_name(browser, what)
1054
+ get_selected_options(browser, :name, what)
1055
+ end
1056
+
1057
+ alias get_selected_option_by_name get_selected_options_by_name
1058
+
1059
+ # Return a reference to a div element identified by its *:id* attribute.
1060
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
1061
+ # @param [String, Regexp] what A string or a regular expression to be found in the designated attribute that uniquely identifies the element.
1062
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
1063
+ # @param [Boolean] dbg Triggers additional debug logging when set to true.
1064
+ # @return [Water::Div]
1065
+ def get_div_by_id(browser, what, desc = '', dbg = false)
1066
+ get_div(browser, :id, what, desc, dbg)
1067
+ end
1068
+
1069
+ # Return a reference to a div element identified by its *:class* attribute.
1070
+ # @param (see #get_div_by_id)
1071
+ # @return [Water::Div]
1072
+ def get_div_by_class(browser, what, desc = '', dbg = false)
1073
+ get_div(browser, :class, what, desc, dbg)
1074
+ end
1075
+
1076
+ # Return a reference to a div element identified by its *:text* attribute.
1077
+ # @param (see #get_div_by_id)
1078
+ # @return [Water::Div]
1079
+ def get_div_by_text(browser, what, desc = '', dbg = false)
1080
+ get_div(browser, :text, what, desc, dbg)
1081
+ end
1082
+
1083
+ # Return a reference to a form element identified by its *:id* attribute.
1084
+ # @param (see #click_button_by_id)
1085
+ # @return [Water::Form]
1086
+ def get_form_by_id(browser, what, desc = '')
1087
+ get_form(browser, :id, what, desc)
1088
+ end
1089
+
1090
+ # Return a reference to a frame element identified by its *:id* attribute.
1091
+ # @param (see #click_button_by_id)
1092
+ # @return [Water::Frame]
1093
+ def get_frame_by_id(browser, what, desc = '')
1094
+ get_frame(browser, :id, what, desc)
1095
+ end
1096
+
1097
+ # Return a reference to a frame element identified by its *:index* within *browser*.
1098
+ # @param (see #click_button_by_id)
1099
+ # @return [Water::Frame]
1100
+ def get_frame_by_index(browser, what, desc = '')
1101
+ get_frame(browser, :index, what, desc)
1102
+ end
1103
+
1104
+ # Return a reference to a frame element identified by its *:name* attribute.
1105
+ # @param (see #click_button_by_id)
1106
+ # @return [Water::Frame]
1107
+ def get_frame_by_name(browser, what, desc = '')
1108
+ get_frame(browser, :name, what, desc)
1109
+ end
1110
+
1111
+ # Return a reference to a span element identified by its *:id* attribute.
1112
+ # @param (see #click_button_by_id)
1113
+ # @return [Water::Span]
1114
+ def get_span_by_id(browser, what, desc = '')
1115
+ get_span(browser, :id, what, desc)
1116
+ end
1117
+
1118
+ # Return a reference to a table element identified by its attribute *how* containing *what*.
1119
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
1120
+ # @param [Symbol] how The element attribute used to identify the specific element.
1121
+ # Valid values depend on the kind of element.
1122
+ # Common values: :text, :id, :title, :name, :class, :href (:link only)
1123
+ # @param [String, Regexp] what A string or a regular expression to be found in the *how* attribute that uniquely identifies the element.
1124
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
1125
+ # @return [Watir::Table]
1126
+ def get_table(browser, how, what, desc = '')
1127
+ get_element(browser, :table, how, what, nil, desc)
1128
+ end
1129
+
1130
+ # Return a reference to a table element identified by its *:id* attribute.
1131
+ # @param (see #click_button_by_id)
1132
+ # @return [Watir::Table]
1133
+ def get_table_by_id(browser, what, desc = '')
1134
+ get_element(browser, :table, :id, what, nil, desc)
1135
+ end
1136
+
1137
+ # Return a reference to a table element identified by its *:index* within *browser*.
1138
+ # @param (see #click_button_by_id)
1139
+ # @return [Watir::Table]
1140
+ def get_table_by_index(browser, what, desc = '')
1141
+ get_element(browser, :table, :index, what, nil, desc)
1142
+ end
1143
+
1144
+ # Return a reference to a table element identified by its *:text* attribute.
1145
+ # @param (see #get_table)
1146
+ # @return [Watir::Table]
1147
+ def get_table_by_text(browser, what)
1148
+ get_element(browser, :table, :text, what, nil, desc)
1149
+ end
1150
+
1151
+ # @!endgroup Find
1152
+
1153
+ # @!group Wait
1154
+
1155
+ # Wait until radio button, identified by attribute :value with value *what* exists on the page.
1156
+ # Timeout is the default used by watir (60 seconds)
1157
+ # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
1158
+ # @param [String, Regexp] what A string or a regular expression to be found in the *how* attribute that uniquely identifies the element.
1159
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
1160
+ # @return [Boolean] True if radio exists within timeout limit
1161
+ def wait_until_by_radio_value(browser, what, desc = '')
1162
+ wait_until_exists(browser, :radio, :value, what, desc)
1163
+ end
1164
+
1165
+ # Wait up to *how_long* seconds for DOM element *what_for* to exist in the page.
1166
+ # @note This is a last resort method when other wait or wait until avenues have
1167
+ # been exhausted.
1168
+ # @param [Fixnum] how_long Timeout limit
1169
+ # @param [Watir::Element] what_for A reference to a Dom element to wait for.
1170
+ def wait_for_exists(how_long, what_for)
1171
+ wait_for(how_long, what_for)
1172
+ end
1173
+
1174
+ # Wait until link, identified by attribute :text with value *what* exists on the page.
1175
+ # Timeout is the default used by watir (60 seconds)
1176
+ # @param (see #wait_until_by_radio_value)
1177
+ # @return [Boolean] True if link exists within timeout limit
1178
+ def wait_until_by_link_text(browser, what, desc = '')
1179
+ wait_until_exists(browser, :link, :text, what, desc)
1180
+ end
1181
+
1182
+ # @!endgroup Wait
1183
+
1184
+ end
1185
+ end
1186
+ end
1187
+