awetestlib 0.1.22 → 0.1.23

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,11 +1,1185 @@
1
1
  module Awetestlib
2
2
  module Regression
3
3
  # Backward compatible methods and alias to support earlier versions of the Awetest DSL.
4
- # These are deprecated in favor of the corresponding methods in the module name under which they are grouped.
4
+ # These are deprecated in favor of the methods actually called within them.
5
5
  # Work in Progress
6
6
  module Legacy
7
7
 
8
+ # @!group Click (UserInput)
8
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_name(browser, what, value = nil, desc = '')
705
+ clear(browser, :checkbox, :id, what, value, 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
9
1183
 
10
1184
  end
11
1185
  end