awetestlib 0.1.22-x86-mingw32 → 0.1.23-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,6 +17,27 @@ module Awetestlib
17
17
 
18
18
  # @!group Browser
19
19
 
20
+ # @note webdriver specific - still work in progress
21
+ def go_to_wd_url(browser, url)
22
+
23
+ Watir::Browser.class_eval do
24
+ def goto(uri)
25
+ uri = "http://#{uri}" unless uri =~ URI.regexp
26
+ @driver.navigate.to uri
27
+ run_checkers
28
+ end
29
+ end
30
+ browser.goto(url)
31
+
32
+ #in basic_auth1 edit:
33
+ #a = Thread.new {
34
+ # goto_wd_url(browser, @myURL)
35
+ # }
36
+
37
+ end
38
+
39
+ alias goto_wd_url go_to_wd_url
40
+
20
41
  # Open a browser based on the command line parameters that identify the browser and
21
42
  # version to use for the test.
22
43
  # @example
@@ -24,7 +45,7 @@ module Awetestlib
24
45
  # @param [String, Regexp] url When provided, the browser will go to this url.
25
46
  # @return [Watir::Browser]
26
47
  def open_browser(url = nil)
27
- debug_to_log("Opening browser: #{@targetBrowser.name}")
48
+ message_to_report("Opening browser: #{@targetBrowser.name}")
28
49
  case @targetBrowser.abbrev
29
50
  when 'IE'
30
51
  @myBrowser = open_ie
@@ -96,24 +117,13 @@ module Awetestlib
96
117
  if url
97
118
  @myURL = url
98
119
  end
99
- message_tolog("URL: #{@myURL}")
120
+ message_to_report("URL: #{@myURL}")
100
121
  browser.goto(@myURL)
101
122
  true
102
123
  rescue
103
124
  fatal_to_log("Unable to navigate to '#{@myURL}': '#{$!}'")
104
125
  end
105
126
 
106
- def go_to_wd_url(browser, url)
107
- Watir::Browser.class_eval do
108
- def goto(uri)
109
- uri = "http://#{uri}" unless uri =~ URI.regexp
110
- @driver.navigate.to uri
111
- run_checkers
112
- end
113
- end
114
- browser.goto(url)
115
- end
116
-
117
127
  # Return a reference to a browser window. Used to attach a browser window to a variable
118
128
  # which can then be passed to methods that require a *browser* parameter.
119
129
  # @example
@@ -324,7 +334,7 @@ module Awetestlib
324
334
  ts = Time.new
325
335
  msg = "Bailing out at util line #{lnbr} #{ts} " + desc
326
336
  puts "#{msg}"
327
- fatal_to_log(msg, nil, 1, lnbr)
337
+ fatal_to_log(msg, lnbr)
328
338
  debug_to_log(dump_caller(lnbr))
329
339
  if is_browser?(browser)
330
340
  if @browserAbbrev == 'IE'
@@ -588,7 +598,7 @@ module Awetestlib
588
598
  begin
589
599
  panel.link(:text, what).click
590
600
  rescue => e
591
- if not rescue_me(e, __method__, "link(:text,'#{what}').click", "#{panel.class}")
601
+ unless rescue_me(e, __method__, rescue_me_command(:link, :id, what, :click), "#{panel.class}")
592
602
  raise e
593
603
  end
594
604
  end
@@ -688,7 +698,7 @@ module Awetestlib
688
698
  begin
689
699
  popup.link(:text, what).click
690
700
  rescue => e
691
- if not rescue_me(e, __method__, "link(:text,'#{what}')", "#{popup.class}")
701
+ unless rescue_me(e, __method__, rescue_me_command(:link, :text, what, :click), "#{popup.class}")
692
702
  raise e
693
703
  end
694
704
  end
@@ -803,11 +813,28 @@ module Awetestlib
803
813
  failed_to_log("Close popup title=#{title} failed: '#{$!}' (#{__LINE__})")
804
814
  end
805
815
 
806
- alias close_popup_validate_text close_modal_ie
807
- alias close_popup close_modal_ie
816
+ #alias close_popup_validate_text close_modal_ie
817
+ #alias close_popup close_modal_ie
808
818
 
809
819
  # private :close_modal_ie
810
820
 
821
+ # Close an IE modal popup by its title. Calls close_modal_ie.
822
+ # @deprecated Use close_modal.
823
+ # @param [String] title The title of the window to be closed. Matched from beginning of string.
824
+ # @param [String] button The display name of the button to be clicked.
825
+ # @param [String] text The text of the window to be closed. Matched from beginning of string.
826
+ # @param [String] side A string identifying which mouse button to click.
827
+ # @param [Fixnum] wait Number of seconds to wait for the popup to be seen.
828
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
829
+ # @param [Boolean] quiet If true, fewer messages and pass/fail validations are logged.
830
+ def close_popup(title = '', button = 'OK', text = '', side = 'primary',
831
+ wait = WAIT, desc = '', quiet = false)
832
+ debug_to_log("#{__method__} begin")
833
+ close_modal_ie(@myBrowser, title, button, text, side, wait, desc, quiet)
834
+ end
835
+
836
+ alias close_popup_validate_text close_popup
837
+
811
838
  # Close a Firefox modal popup by its title.
812
839
  # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
813
840
  # @param [String] title The title of the window to be closed. Matched from beginning of string.
@@ -1052,71 +1079,34 @@ module Awetestlib
1052
1079
  when 'IE'
1053
1080
  @browserAbbrev = 'IE'
1054
1081
  @browserName = 'Internet Explorer'
1055
- @browserAppInfo = browser.document.invoke('parentWindow').navigator.appVersion
1082
+ if $watir_script
1083
+ @browserAppInfo = browser.document.invoke('parentWindow').navigator.appVersion
1084
+ else
1085
+ @browserAppInfo = browser.execute_script("return navigator.userAgent;")
1086
+ end
1056
1087
  @browserAppInfo =~ /MSIE\s(.*?);/
1057
1088
  @browserVersion = $1
1058
1089
  when 'FF'
1059
- #@browserAbbrev = 'FF'
1060
- #@browserName = 'Firefox'
1061
- #js_stuff = <<-end_js_stuff
1062
- #var info = Components.classes["@mozilla.org/xre/app-info;1"]
1063
- #.getService(Components.interfaces.nsIXULAppInfo);
1064
- #[info, info.name, info.version];
1065
- #end_js_stuff
1066
- #js_stuff.gsub!("\n", " ")
1067
- #info = browser.execute_script(js_stuff)
1068
- #info, aName, @browserVersion = info.split(',')
1069
- #debug_to_log("FF info: [#{info}]")
1070
- #debug_to_log("FF name: [#{aName}]")
1071
- #debug_to_log("FF vrsn: [#{@browserVersion}]")
1072
1090
  @browserAbbrev = 'FF'
1073
1091
  @browserName = 'Firefox'
1074
1092
  @browserVersion = '6.01' #TODO: get actual version from browser
1075
- debug_to_log("Firefox, in get_browser_version (#{@browserVersion})")
1093
+ @browserAppInfo = browser.execute_script("return navigator.userAgent;")
1094
+ debug_to_log("#{@browserName}, @browserAppInfo: (#{@browserAppInfo})")
1076
1095
  when 'S'
1077
1096
  @browserAbbrev = 'S'
1078
1097
  @browserName = 'Safari'
1079
1098
  @browserVersion = '5.0.4' #TODO: get actual version from browser itself
1080
- debug_to_log("Safari, in get_browser_version (#{@browserVersion})")
1099
+ @browserAppInfo = browser.execute_script("return navigator.userAgent;")
1100
+ debug_to_log("#{@browserName}, @browserAppInfo: (#{@browserAppInfo})")
1081
1101
  when 'C'
1082
1102
  @browserAbbrev = 'C'
1083
1103
  @browserName = 'Chrome'
1084
1104
  @browserVersion = '11.0' #TODO: get actual version from browser
1085
- debug_to_log("Chrome, in get_browser_version (#{@browserVersion})")
1105
+ @browserAppInfo = browser.execute_script("return navigator.userAgent;")
1106
+ debug_to_log("#{@browserName}, @browserAppInfo: (#{@browserAppInfo})")
1086
1107
  end
1087
- # if [notify_queue, notify_class, notify_id].all?
1088
- # Resque::Job.create(notify_queue, notify_class, :id => notify_id, :browser_used => "#{@browserName} #{@browserVersion}")
1089
- #end
1090
1108
  rescue
1091
1109
  debug_to_log("Unable to determine #{@browserAbbrev} browser version: '#{$!}' (#{__LINE__})")
1092
-
1093
- # TODO: can we get rid of this?
1094
- # js for getting firefox version information
1095
- # function getAppID() {
1096
- # var id;
1097
- # if("@mozilla.org/xre/app-info;1" in Components.classes) {
1098
- # // running under Mozilla 1.8 or later
1099
- # id = Components.classes["@mozilla.org/xre/app-info;1"]
1100
- # .getService(Components.interfaces.nsIXULAppInfo).ID;
1101
- # } else {
1102
- # try {
1103
- # id = Components.classes["@mozilla.org/preferences-service;1"]
1104
- # .getService(Components.interfaces.nsIPrefBranch)
1105
- # .getCharPref("app.id");
1106
- # } catch(e) {
1107
- # // very old version
1108
- # dump(e);
1109
- # }
1110
- # }
1111
- # return id;
1112
- # }
1113
- # alert(getAppID());
1114
- # another snippet that shows getting attributes from object
1115
- # var info = Components.classes["@mozilla.org/xre/app-info;1"]
1116
- # .getService(Components.interfaces.nsIXULAppInfo);
1117
- # // Get the name of the application running us
1118
- # info.name; // Returns "Firefox" for Firefox
1119
- # info.version; // Returns "2.0.0.1" for Firefox version 2.0.0.1
1120
1110
  ensure
1121
1111
  message_to_log("Browser: [#{@browserAbbrev} #{@browserVersion}]")
1122
1112
  end
@@ -1156,15 +1146,15 @@ module Awetestlib
1156
1146
  # @param [Boolean] dbg If set to true additional debug messages are written to the log.
1157
1147
  #
1158
1148
  # @return [Boolean] True if no error conditions have been encountered.
1159
- def validate(browser, file_name = '', lnbr = "#{__LINE__}", dbg = false)
1149
+ def validate(browser, file_name = @myName, lnbr = "#{__LINE__}", dbg = false)
1160
1150
  debug_to_log("#{__method__} begin") if dbg
1161
1151
  msg = ''
1162
1152
  myOK = true
1163
1153
  if not browser
1164
1154
  msg = "#{file_name}----browser is nil object. (#{lnbr})"
1165
1155
  myOK = false
1166
- elsif not is_browser?(browser)
1167
- msg = "#{file_name}----not a browser. (#{lnbr})"
1156
+ elsif not browser.class.to_s =~ /Watir/
1157
+ msg = "#{file_name}----not a Watir object. (#{lnbr})"
1168
1158
  debug_to_log(browser.inspect)
1169
1159
  myOK = false
1170
1160
 
@@ -1189,7 +1179,7 @@ module Awetestlib
1189
1179
  begin
1190
1180
  browser_text = browser.text.downcase
1191
1181
  rescue => e
1192
- if not rescue_me(e, __method__, "browser.text.downcase", "#{browser.class}", browser)
1182
+ unless rescue_me(e, __method__, "browser.text.downcase", "#{browser.class}", browser)
1193
1183
  debug_to_log("browser.text.downcase in #{__method__} #{browser.class}")
1194
1184
  debug_to_log("#{get_callers}")
1195
1185
  raise e
@@ -1326,7 +1316,7 @@ module Awetestlib
1326
1316
 
1327
1317
  rescue
1328
1318
  errmsg = $!
1329
- if errmsg.match(msg)
1319
+ if errmsg and errmsg.match(msg)
1330
1320
  errmsg = ''
1331
1321
  end
1332
1322
  bail_out(browser, lnbr, "#{msg} #{errmsg}")
@@ -7,10 +7,14 @@ module Awetestlib
7
7
  # Rdoc is work in progress
8
8
  module DragAndDrop
9
9
 
10
+ # Verify that specified *inner_element* is fully enclosed by *outer_element*.
11
+ # @param [Watir::Element] inner_element A reference to a DOM element
12
+ # @param [Watir::Element] outer_element A reference to a DOM element
13
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
10
14
  def verify_element_inside(inner_element, outer_element, desc = '')
11
15
  mark_testlevel("#{__method__.to_s.titleize}", 3)
12
- msg = "#{inner_element.class.to_s} (:id=#{inner_element.id}) is fully enclosed by #{outer_element.class.to_s} (:id=#{outer_element.id})."
13
- msg << " #{desc}" if desc.length > 0
16
+ msg = build_message("#{inner_element.class.to_s} (:id=#{inner_element.id}) is fully enclosed by "+
17
+ "#{outer_element.class.to_s} (:id=#{outer_element.id}).", desc)
14
18
  if overlay?(inner_element, outer_element, :inside)
15
19
  failed_to_log(msg)
16
20
  else
@@ -21,11 +25,21 @@ module Awetestlib
21
25
  failed_to_log("Unable to verify that #{msg} '#{$!}'")
22
26
  end
23
27
 
28
+ # Verify that two elements, identified by specified attribute and value, do not overlap on a given *side*.
29
+ # @param [Symbol] above_element The element type for the first element, e.g. :div, :span, etc.
30
+ # @param [Symbol] above_how The element attribute used to identify the *above_element*.
31
+ # Valid values depend on the kind of element.
32
+ # Common values: :text, :id, :title, :name, :class, :href (:link only)
33
+ # @param [String, Regexp] above_what A string or a regular expression to be found in the *above_how* attribute that uniquely identifies the element.
34
+ # @param [Symbol] below_element The element type for the second element, e.g. :div, :span, etc.
35
+ # @param [Symbol] below_how The element attribute used to identify the *below_element*.
36
+ # @param [String, Regexp] below_what A string or a regular expression to be found in the *below_how* attribute that uniquely identifies the element.
37
+ # @param [Symbol] side :top, :bottom, :left, :right, :inside, or :outside
38
+ # @param [String] desc Contains a message or description intended to appear in the log and/or report output
24
39
  def verify_no_element_overlap(browser, above_element, above_how, above_what, below_element, below_how, below_what, side, desc = '')
25
40
  mark_testlevel("#{__method__.to_s.titleize}", 3)
26
- msg = "#{above_element.to_s.titleize} #{above_how}=>#{above_what} does not overlap "+
27
- "#{below_element.to_s.titleize} #{below_how}=>#{below_what} at the #{side}."
28
- msg << " #{desc}" if desc.length > 0
41
+ msg = build_message("#{above_element.to_s.titleize} #{above_how}=>#{above_what} does not overlap "+
42
+ "#{below_element.to_s.titleize} #{below_how}=>#{below_what} at the #{side}.", desc)
29
43
  above = browser.element(above_how, above_what)
30
44
  below = browser.element(below_how, below_what)
31
45
  if overlay?(above, below, side)
@@ -270,6 +284,18 @@ module Awetestlib
270
284
  [x, y, w, h]
271
285
  end
272
286
 
287
+ def drag_and_drop(browser, how, what, delta_x, delta_y, desc = '')
288
+ #TODO: webdriver
289
+ msg = "Drag and drop element :#{how}=>#{what} by x=>#{delta_x} y=>#{delta_y}."
290
+ msg << " #{desc}" if desc.length > 0
291
+ drag_me = browser.div(how, what)
292
+ drag_me.drag_and_drop_by(delta_x, delta_y)
293
+ passed_to_log(msg)
294
+ true
295
+ rescue
296
+ failed_to_log("Unable to #{msg} '#{$!}'")
297
+ end
298
+
273
299
  def drag_and_drop(x1, y1, dx, dy, speed=nil)
274
300
  speed = 10 if not speed
275
301
  x2 = x1 + dx
@@ -67,11 +67,28 @@ module Awetestlib
67
67
  nil
68
68
  end
69
69
  rescue => e
70
- if not rescue_me(e, __method__, "browser.#{element}(#{how}, '#{what}')", "#{browser.class}", target)
70
+ unless rescue_me(e, __method__, rescue_me_command(target, how, what), "#{browser.class}", target)
71
71
  raise e
72
72
  end
73
73
  end
74
74
 
75
+ def get_attribute_value(browser, element, how, what, attribute, desc = '')
76
+ msg = build_message("Value of #{attribute} in #{element} #{how}=>#{what}.", desc)
77
+ case element
78
+ when :link
79
+ value = browser.link(how => what).attribute_value attribute
80
+ when :button
81
+ value = browser.button(how => what).attribute_value attribute
82
+ else
83
+ if browser.element(how => what).responds_to('attribute_value')
84
+ value = browser.element(how => what).attribute_value attribute
85
+ end
86
+ end
87
+ value
88
+ rescue
89
+ failed_to_log(" Unable to #{msg}: '#{$!}'")
90
+ end
91
+
75
92
  # Return an array containing the options available for selection in a select_list identifified by
76
93
  # its attribute *how*, and the contents of that attribute *what*.
77
94
  # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
@@ -104,7 +121,7 @@ module Awetestlib
104
121
  begin
105
122
  list = browser.select_list(how, what)
106
123
  rescue => e
107
- if not rescue_me(e, __method__, "browser.select_list(#{how}, '#{what}')", "#{browser.class}")
124
+ unless rescue_me(e, __method__, rescue_me_command(:select_list, how, what), "#{browser.class}")
108
125
  raise e
109
126
  end
110
127
  end
@@ -151,14 +168,14 @@ module Awetestlib
151
168
  begin
152
169
  Watir::Wait.until { browser.span(how, what).exists? }
153
170
  rescue => e
154
- if not rescue_me(e, __method__, "browser.span(#{how}, '#{what}').exists?", "#{browser.class}")
171
+ unless rescue_me(e, __method__, rescue_me_command(:span, how, what, :exists?), "#{browser.class}")
155
172
  raise e
156
173
  end
157
174
  end
158
175
  begin
159
176
  span = browser.span(how, what)
160
177
  rescue => e
161
- if not rescue_me(e, __method__, "browser.span(#{how}, '#{what}').exists?", "#{browser.class}")
178
+ unless rescue_me(e, __method__, rescue_me_command(:span, how, what, :exists?), "#{browser.class}")
162
179
  raise e
163
180
  end
164
181
  end
@@ -293,141 +310,6 @@ module Awetestlib
293
310
 
294
311
  # @!endgroup Core
295
312
 
296
- # @!group Legacy (Backward compatible usages)
297
-
298
- # Return the list of options in a select list identified by its *:id* attribute.
299
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
300
- # @param [String, Regexp] what A string or a regular expression to be found in the designated attribute that uniquely identifies the element.
301
- # @param [Boolean] dbg Triggers additional debug logging when set to true.
302
- # @return [Array]
303
- def get_select_options_by_id(browser, what, dbg = false)
304
- get_select_options(browser, :id, what, dbg)
305
- end
306
-
307
- # Return the list of options in a select list identified by its *:name* attribute.
308
- # @param (see #get_select_options_by_id)
309
- # @return [Array]
310
- def get_select_options_by_name(browser, what, dbg = false)
311
- get_select_options(browser, :name, what, dbg)
312
- end
313
-
314
- # Return the list of _selected_ options in a select list identified by its *:id* attribute.
315
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
316
- # @param [String, Regexp] what A string or a regular expression to be found in the designated attribute that uniquely identifies the element.
317
- # @return [Array]
318
- def get_selected_options_by_id(browser, what)
319
- get_selected_options(browser, :id, what)
320
- end
321
-
322
- alias get_selected_option_by_id get_selected_options_by_id
323
-
324
- # Return the list of _selected_ options in a select list identified by its *:name* attribute.
325
- # @param (see #get_select_options_by_id)
326
- # @return [Array]
327
- def get_selected_options_by_name(browser, what)
328
- get_selected_options(browser, :name, what)
329
- end
330
-
331
- alias get_selected_option_by_name get_selected_options_by_name
332
-
333
- # Return a reference to a div element identified by its *:id* attribute.
334
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
335
- # @param [String, Regexp] what A string or a regular expression to be found in the designated attribute that uniquely identifies the element.
336
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
337
- # @param [Boolean] dbg Triggers additional debug logging when set to true.
338
- # @return [Water::Div]
339
- def get_div_by_id(browser, what, desc = '', dbg = false)
340
- get_div(browser, :id, what, desc, dbg)
341
- end
342
-
343
- # Return a reference to a div element identified by its *:class* attribute.
344
- # @param (see #get_div_by_id)
345
- # @return [Water::Div]
346
- def get_div_by_class(browser, what, desc = '', dbg = false)
347
- get_div(browser, :class, what, desc, dbg)
348
- end
349
-
350
- # Return a reference to a div element identified by its *:text* attribute.
351
- # @param (see #get_div_by_id)
352
- # @return [Water::Div]
353
- def get_div_by_text(browser, what, desc = '', dbg = false)
354
- get_div(browser, :text, what, desc, dbg)
355
- end
356
-
357
- # Return a reference to a form element identified by its *:id* attribute.
358
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
359
- # @param [String, Regexp] what A string or a regular expression to be found in the designated attribute that uniquely identifies the element.
360
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
361
- # @return [Water::Form]
362
- def get_form_by_id(browser, what, desc = '')
363
- get_form(browser, :id, what, desc)
364
- end
365
-
366
- # Return a reference to a frame element identified by its *:id* attribute.
367
- # @param (see #get_form_by_id)
368
- # @return [Water::Frame]
369
- def get_frame_by_id(browser, what, desc = '')
370
- get_frame(browser, :id, what, desc)
371
- end
372
-
373
- # Return a reference to a frame element identified by its *:index* within *browser*.
374
- # @param (see #get_form_by_id)
375
- # @return [Water::Frame]
376
- def get_frame_by_index(browser, what, desc = '')
377
- get_frame(browser, :index, what, desc)
378
- end
379
-
380
- # Return a reference to a frame element identified by its *:name* attribute.
381
- # @param (see #get_form_by_id)
382
- # @return [Water::Frame]
383
- def get_frame_by_name(browser, what, desc = '')
384
- get_frame(browser, :name, what, desc)
385
- end
386
-
387
- # Return a reference to a span element identified by its *:id* attribute.
388
- # @param (see #get_form_by_id)
389
- # @return [Water::Span]
390
- def get_span_by_id(browser, what, desc = '')
391
- get_span(browser, :id, what, desc)
392
- end
393
-
394
- # Return a reference to a table element identified by its attribute *how* containing *what*.
395
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
396
- # @param [Symbol] how The element attribute used to identify the specific element.
397
- # Valid values depend on the kind of element.
398
- # Common values: :text, :id, :title, :name, :class, :href (:link only)
399
- # @param [String, Regexp] what A string or a regular expression to be found in the *how* attribute that uniquely identifies the element.
400
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
401
- # @return [Watir::Table]
402
- def get_table(browser, how, what, desc = '')
403
- get_element(browser, :table, how, what, nil, desc)
404
- end
405
-
406
- # Return a reference to a table element identified by its *:id* attribute.
407
- # @param [Watir::Browser] browser A reference to the browser window or container element to be tested.
408
- # @param [String, Regexp] what A string or a regular expression to be found in the *how* attribute that uniquely identifies the element.
409
- # @param [String] desc Contains a message or description intended to appear in the log and/or report output
410
- # @return [Watir::Table]
411
- def get_table_by_id(browser, what, desc = '')
412
- get_element(browser, :table, :id, what, nil, desc)
413
- end
414
-
415
- # Return a reference to a table element identified by its *:index* within *browser*.
416
- # @param (see #get_table)
417
- # @return [Watir::Table]
418
- def get_table_by_index(browser, what, desc = '')
419
- get_element(browser, :table, :index, what, nil, desc)
420
- end
421
-
422
- # Return a reference to a table element identified by its *:text* attribute.
423
- # @param (see #get_table)
424
- # @return [Watir::Table]
425
- def get_table_by_text(browser, what)
426
- get_element(browser, :table, :text, what, nil, desc)
427
- end
428
-
429
- # @!endgroup Legacy
430
-
431
313
  # @!group Deprecated
432
314
 
433
315
  # Find the index of an element within *browser* which has attribute *how* containing *what*