watir 1.4.1 → 1.5.2

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.
Files changed (151) hide show
  1. data/bin/watir-console +1 -0
  2. data/changes.rb +119 -0
  3. data/license.rb +37 -0
  4. data/readme.rb +55 -120
  5. data/unittests/buttons_test.rb +107 -104
  6. data/unittests/buttons_xpath_test.rb +69 -0
  7. data/unittests/checkbox_test.rb +154 -141
  8. data/unittests/checkbox_xpath_test.rb +107 -0
  9. data/unittests/core_tests.rb +6 -2
  10. data/unittests/css_test.rb +50 -50
  11. data/unittests/defer_test.rb +47 -0
  12. data/unittests/dialog_test.rb +78 -0
  13. data/unittests/div2_xpath_test.rb +22 -0
  14. data/unittests/div_test.rb +159 -159
  15. data/unittests/div_xpath_test.rb +96 -0
  16. data/unittests/errorchecker_test.rb +22 -22
  17. data/unittests/filefield_test.rb +30 -23
  18. data/unittests/filefield_xpath_test.rb +35 -0
  19. data/unittests/form_test.rb +250 -229
  20. data/unittests/form_xpath_test.rb +253 -0
  21. data/unittests/frame_test.rb +123 -108
  22. data/unittests/google_form_test.rb +17 -0
  23. data/unittests/html/JavascriptClick.html +39 -0
  24. data/unittests/html/buttons1.html +3 -2
  25. data/unittests/html/checkboxes1.html +32 -14
  26. data/unittests/html/complex_table.html +1 -1
  27. data/unittests/html/depot_store.html +59 -0
  28. data/unittests/html/div.html +3 -21
  29. data/unittests/html/div_xml.html +21 -0
  30. data/unittests/html/fileupload.html +2 -2
  31. data/unittests/html/forms2.html +3 -3
  32. data/unittests/html/forms3.html +2 -2
  33. data/unittests/html/frame_links.html +2 -2
  34. data/unittests/html/google_india.html +119 -0
  35. data/unittests/html/iframeTest.html +2 -2
  36. data/unittests/html/images/map.GIF +0 -0
  37. data/unittests/html/images/map2.gif +0 -0
  38. data/unittests/html/images1.html +17 -2
  39. data/unittests/html/javascriptevents.html +3 -7
  40. data/unittests/html/links1.html +9 -8
  41. data/unittests/html/links_multi.html +14 -0
  42. data/unittests/html/list_matters.html +720 -0
  43. data/unittests/html/lists.html +18 -0
  44. data/unittests/html/map_test.html +31 -0
  45. data/unittests/html/modal_dialog.html +10 -0
  46. data/unittests/html/modal_dialog_launcher.html +12 -0
  47. data/unittests/html/new_browser.html +17 -0
  48. data/unittests/html/pass.html +3 -0
  49. data/unittests/html/popups1.html +1 -1
  50. data/unittests/html/pre.html +28 -0
  51. data/unittests/html/radioButtons1.html +6 -5
  52. data/unittests/html/selectboxes1.html +12 -11
  53. data/unittests/html/simple_table.html +1 -1
  54. data/unittests/html/simple_table_columns.html +1 -1
  55. data/unittests/html/table1.html +1 -1
  56. data/unittests/html/tableCell_using_xpath.html +19 -0
  57. data/unittests/html/textfields1.html +6 -4
  58. data/unittests/html/xpath_nbsp.html +12 -0
  59. data/unittests/ie_exists_test.rb +32 -0
  60. data/unittests/ie_mock.rb +78 -79
  61. data/unittests/ie_test.rb +39 -39
  62. data/unittests/images_test.rb +132 -155
  63. data/unittests/images_xpath_test.rb +91 -0
  64. data/unittests/links_multi_test.rb +36 -0
  65. data/unittests/links_test.rb +158 -152
  66. data/unittests/links_xpath_test.rb +40 -0
  67. data/unittests/lists_test.rb +29 -0
  68. data/unittests/map_test.rb +99 -0
  69. data/unittests/minmax_test.rb +23 -23
  70. data/unittests/navigate_test.rb +43 -51
  71. data/unittests/nbsp_xpath_test.rb +18 -0
  72. data/unittests/other/WindowLogonExample.rb +28 -0
  73. data/unittests/{WindowLogonExtra.rb → other/WindowLogonExtra.rb} +0 -0
  74. data/unittests/{all_tests_concurrent.rb → other/all_tests_concurrent.rb} +23 -23
  75. data/unittests/other/navigate_exception_test.rb +14 -0
  76. data/unittests/other/rexml_unit_test.rb +24 -0
  77. data/unittests/other/testcase_method_order_test.rb +36 -0
  78. data/unittests/other/testcase_verify_test.rb +25 -0
  79. data/unittests/other/wait_until_test.rb +99 -0
  80. data/unittests/pagecontainstext_test.rb +56 -37
  81. data/unittests/parent_child_test.rb +55 -0
  82. data/unittests/popups_test.rb +37 -37
  83. data/unittests/pre_test.rb +52 -0
  84. data/unittests/radios_test.rb +186 -155
  85. data/unittests/radios_xpath_test.rb +101 -0
  86. data/unittests/screen_capture_test.rb +41 -41
  87. data/unittests/selectbox_test.rb +223 -181
  88. data/unittests/selectbox_xpath_test.rb +113 -0
  89. data/unittests/setup.rb +29 -25
  90. data/unittests/speed_settings_test.rb +22 -0
  91. data/unittests/table_cell_using_xpath_test.rb +40 -0
  92. data/unittests/table_test.rb +315 -284
  93. data/unittests/table_xpath_test.rb +114 -0
  94. data/unittests/textarea_test.rb +81 -0
  95. data/unittests/textarea_xpath_test.rb +82 -0
  96. data/unittests/textfields_test.rb +205 -229
  97. data/unittests/textfields_xpath_test.rb +111 -0
  98. data/unittests/window_tests.rb +7 -0
  99. data/unittests/windows/attach_to_existing_window_test.rb +52 -0
  100. data/unittests/windows/attach_to_new_window_test.rb +82 -0
  101. data/unittests/windows/close_window_test.rb +22 -0
  102. data/unittests/windows/frame_links_test.rb +25 -0
  103. data/unittests/windows/ie-each_test.rb +48 -0
  104. data/unittests/windows/iedialog_test.rb +55 -0
  105. data/unittests/windows/js_events_test.rb +57 -0
  106. data/unittests/windows/jscriptExtraAlert.rb +6 -0
  107. data/unittests/windows/jscriptExtraConfirmCancel.rb +7 -0
  108. data/unittests/windows/jscriptExtraConfirmOk.rb +7 -0
  109. data/unittests/{jscriptPushButton.rb → windows/jscriptPushButton.rb} +1 -1
  110. data/unittests/windows/jscript_test.rb +64 -0
  111. data/unittests/windows/modal_dialog_test.rb +127 -0
  112. data/unittests/windows/new.rb +56 -0
  113. data/unittests/windows/open_close_test.rb +22 -0
  114. data/unittests/windows/send_keys_test.rb +34 -0
  115. data/unittests/xpath_tests.rb +10 -0
  116. data/watir.rb +4344 -3565
  117. data/watir/IEDialog/Release/IEDialog.dll +0 -0
  118. data/watir/WindowHelper.rb +13 -11
  119. data/watir/assertions.rb +36 -0
  120. data/watir/camel_case.rb +14 -5
  121. data/watir/close_all.rb +38 -0
  122. data/watir/contrib/enabled_popup.rb +21 -0
  123. data/watir/contrib/ie-new-process.rb +27 -0
  124. data/watir/contrib/page_checker.rb +29 -0
  125. data/watir/contrib/visible.rb +47 -0
  126. data/watir/cookiemanager.rb +4 -4
  127. data/watir/datahandler.rb +107 -0
  128. data/watir/dialog.rb +46 -0
  129. data/watir/elements.rb +65 -0
  130. data/watir/exceptions.rb +18 -36
  131. data/watir/ie-process.rb +40 -0
  132. data/watir/irb-history.rb +31 -0
  133. data/watir/process.rb +20 -0
  134. data/watir/testUnitAddons.rb +3 -42
  135. data/watir/testcase.rb +58 -0
  136. data/watir/utils.rb +20 -0
  137. data/watir/waiter.rb +88 -0
  138. data/watir/watir_simple.rb +4 -4
  139. data/watir/win32ole.rb +8 -0
  140. data/watir/win32ole/win32ole.so +0 -0
  141. data/watir/winClicker.rb +374 -400
  142. metadata +209 -128
  143. data/unittests/WindowLogonExample.rb +0 -30
  144. data/unittests/attachToExistingWindow_test.rb +0 -40
  145. data/unittests/js_events_test.rb +0 -77
  146. data/unittests/jscriptExtraAlert.rb +0 -6
  147. data/unittests/jscriptExtraConfirmCancel.rb +0 -7
  148. data/unittests/jscriptExtraConfirmOk.rb +0 -7
  149. data/unittests/jscript_test.rb +0 -57
  150. data/unittests/send_keys_test.rb +0 -29
  151. data/unittests/textAreafields_test.rb +0 -81
@@ -0,0 +1,113 @@
1
+ # feature tests for Select Boxes
2
+ # revision: $Revision: 962 $
3
+
4
+ $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
5
+ require 'unittests/setup'
6
+
7
+ class TC_Selectbox_XPath < Test::Unit::TestCase
8
+ include Watir
9
+
10
+ def setup
11
+ $ie.goto($htmlRoot + "selectboxes1.html")
12
+ end
13
+
14
+ def test_textBox_Exists
15
+ assert($ie.select_list(:xpath, "//select[@name='sel1']/").exists?)
16
+ assert(!$ie.select_list(:xpath, "//select[@name='missing']/").exists?)
17
+ assert(!$ie.select_list(:xpath, "//select[@id='missing']/").exists?)
18
+ end
19
+
20
+ def test_select_list_enabled
21
+ assert($ie.select_list(:xpath, "//select[@name='sel1']/").enabled?)
22
+ assert_raises(UnknownObjectException) { $ie.select_list(:xpath, "//select[@name='NoName']/").enabled? }
23
+ end
24
+
25
+ def test_select_list_getAllContents
26
+ assert_raises(UnknownObjectException) { $ie.select_list(:xpath, "//select[@name='NoName']/").getAllContents }
27
+ assert_equal( ["Option 1" ,"Option 2" , "Option 3" , "Option 4"] ,
28
+ $ie.select_list(:xpath, "//select[@name='sel1']/").getAllContents)
29
+ end
30
+
31
+ def test_select_list_getSelectedItems
32
+ assert_raises(UnknownObjectException) { $ie.select_list(:xpath, "//select[@name='NoName']/").getSelectedItems }
33
+ assert_equal( ["Option 3" ] ,
34
+ $ie.select_list(:xpath, "//select[@name='sel1']/").getSelectedItems)
35
+ assert_equal( ["Option 3" , "Option 6" ] ,
36
+ $ie.select_list(:xpath, "//select[@name='sel2']/").getSelectedItems)
37
+ end
38
+
39
+ def test_clearSelection
40
+ assert_raises(UnknownObjectException) { $ie.select_list(:xpath, "//select[@name='NoName']/").clearSelection }
41
+ $ie.select_list(:xpath, "//select[@name='sel1']/").clearSelection
42
+
43
+ # the box sel1 has no ability to have a de-selected item
44
+ assert_equal( ["Option 3" ] , $ie.select_list(:xpath, "//select[@name='sel1']/").getSelectedItems)
45
+
46
+ $ie.select_list(:xpath, "//select[@name='sel2']/").clearSelection
47
+ assert_equal( [ ] , $ie.select_list(:xpath, "//select[@name='sel2']/").getSelectedItems)
48
+ end
49
+
50
+ def test_select_list_select
51
+ assert_raises(UnknownObjectException) { $ie.select_list(:xpath, "//select[@name='NoName']/").getSelectedItems }
52
+ assert_raises(NoValueFoundException) { $ie.select_list(:xpath, "//select[@name='sel1']/").select("missing item") }
53
+ assert_raises(NoValueFoundException) { $ie.select_list(:xpath, "//select[@name='sel1']/").select(/missing/) }
54
+
55
+ # the select method keeps any currently selected items - use the clear selectcion method first
56
+ $ie.select_list(:xpath, "//select[@name='sel1']/").clearSelection
57
+ $ie.select_list(:xpath, "//select[@name='sel1']/").select("Option 1")
58
+ assert_equal( ["Option 1" ] , $ie.select_list(:xpath, "//select[@name='sel1']/").getSelectedItems)
59
+
60
+ $ie.select_list(:xpath, "//select[@name='sel1']/").clearSelection
61
+ $ie.select_list(:xpath, "//select[@name='sel1']/").select(/2/)
62
+ assert_equal( ["Option 2" ] , $ie.select_list(:xpath, "//select[@name='sel1']/").getSelectedItems)
63
+
64
+ $ie.select_list(:xpath, "//select[@name='sel2']/").clearSelection
65
+ $ie.select_list(:xpath, "//select[@name='sel2']/").select( /2/ )
66
+ $ie.select_list(:xpath, "//select[@name='sel2']/").select( /4/ )
67
+ assert_equal( ["Option 2" , "Option 4" ] ,
68
+ $ie.select_list(:xpath, "//select[@name='sel2']/").getSelectedItems)
69
+
70
+ # these are to test the onchange event
71
+ # the event shouldnt get fired, as this is the selected item
72
+ $ie.select_list(:xpath, "//select[@name='sel3']/").select( /3/ )
73
+ assert(!$ie.text.include?("Pass") )
74
+ end
75
+
76
+ def test_select_list_select2
77
+ # the event should get fired
78
+ $ie.select_list(:xpath, "//select[@name='sel3']/").select( /2/ )
79
+ assert($ie.text.include?("PASS") )
80
+ end
81
+
82
+ def test_select_list_select_using_value
83
+ assert_raises(UnknownObjectException) { $ie.select_list(:xpath, "//select[@name='NoName']/").getSelectedItems }
84
+ assert_raises(NoValueFoundException) { $ie.select_list(:xpath, "//select[@name='sel1']/").select_value("missing item") }
85
+ assert_raises(NoValueFoundException) { $ie.select_list(:xpath, "//select[@name='sel1']/").select_value(/missing/) }
86
+
87
+ # the select method keeps any currently selected items - use the clear selectcion method first
88
+ $ie.select_list(:xpath, "//select[@name='sel1']/").clearSelection
89
+ $ie.select_list(:xpath, "//select[@name='sel1']/").select_value("o1")
90
+ assert_equal( ["Option 1" ] , $ie.select_list(:xpath, "//select[@name='sel1']/").getSelectedItems)
91
+
92
+ $ie.select_list(:xpath, "//select[@name='sel1']/").clearSelection
93
+ $ie.select_list(:xpath, "//select[@name='sel1']/").select_value(/2/)
94
+ assert_equal( ["Option 2" ] , $ie.select_list(:xpath, "//select[@name='sel1']/").getSelectedItems)
95
+
96
+ $ie.select_list(:xpath, "//select[@name='sel2']/").clearSelection
97
+ $ie.select_list(:xpath, "//select[@name='sel2']/").select( /2/ )
98
+ $ie.select_list(:xpath, "//select[@name='sel2']/").select( /4/ )
99
+ assert_equal( ["Option 2" , "Option 4" ] , $ie.select_list(:xpath, "//select[@name='sel2']/").getSelectedItems)
100
+
101
+ # these are to test the onchange event
102
+ # the event shouldnt get fired, as this is the selected item
103
+ $ie.select_list(:xpath, "//select[@name='sel3']/").select_value( /3/ )
104
+ assert(!$ie.text.include?("Pass") )
105
+ end
106
+
107
+ def test_select_list_select_using_value2
108
+ # the event should get fired
109
+ $ie.select_list(:xpath, "//select[@name='sel3']/").select_value( /2/ )
110
+ assert($ie.text.include?("PASS") )
111
+ end
112
+
113
+ end
@@ -1,47 +1,51 @@
1
- END {$ie.close if $ie} # close ie at completion of the tests
2
-
3
1
  # libraries used by feature tests
4
2
  require 'watir'
3
+ END {$ie.close if $ie && $ie.exists?; Watir::IE.quit} # close ie at completion of the tests
4
+
5
5
  require 'test/unit'
6
6
  require 'test/unit/ui/console/testrunner'
7
7
  require 'watir/testUnitAddons'
8
+ require 'watir/testcase'
8
9
 
9
10
  topdir = File.join(File.dirname(__FILE__), '..')
10
11
  Dir.chdir topdir do
11
12
  $all_tests = Dir["unittests/*_test.rb"]
13
+ $xpath_tests = Dir["unittests/*_xpath_test.rb"]
12
14
  end
13
15
 
16
+ $window_tests =
17
+ ['js_events', # is always visible
18
+ 'modal_dialog', # modal is visible
19
+ 'attach_to_existing_window', # could actually run robustly as part of the core suite!
20
+ 'attach_to_new_window', # creates new window
21
+ 'jscript',
22
+ 'send_keys', # visible
23
+ 'iedialog', # visible
24
+ 'close_window', # creates new window
25
+ 'frame_links', # visible
26
+ 'open_close',
27
+ ].collect {|x| "unittests/windows/#{x}_test.rb"}
28
+
14
29
  $non_core_tests =
15
30
  ['popups', # has problems when run in a suite (is ok when run alone);
16
31
  # must be visible
17
32
  # will be revised to use autoit
18
33
  # takes 15 seconds to run
19
- 'images', # failing tests; also assumes working dir is unittests
20
- 'screen_capture', # is always visible; takes 25 secons
34
+ 'images', # save file must must be visible
35
+ 'screen_capture', # is always visible; takes 25 seconds
21
36
  'filefield', # is always visible; takes 40 seconds
22
- 'jscript',
23
- 'js_events', # is always visible
24
37
  'minmax', # becomes visible
25
- 'send_keys' # uses autoit
38
+ 'dialog' # visible
26
39
  ].collect {|x| "unittests/#{x}_test.rb"}
27
40
 
28
- $core_tests = $all_tests - $non_core_tests
29
-
30
- def start_ie_with_logger
31
- $ie = Watir::IE.new()
32
- # $ie.logger = Watir::WatirLogger.new( 'debug.txt', 4, 10000 )
33
- $ie.set_fast_speed
34
- end
35
-
36
- def set_local_dir
37
- $myDir = File.expand_path(File.dirname(__FILE__))
38
- $myDir.sub!( %r{/cygdrive/(\w)/}, '\1:/' ) # convert from cygwin to dos
39
- # if you run the unit tests form a local file system use this line
40
- $htmlRoot = "file://#{$myDir}/html/"
41
- # if you run the unit tests from a web server use this line
42
- # $htmlRoot = "http://localhost:8080/watir/html/"
43
- end
41
+ $core_tests = $all_tests - $non_core_tests - $window_tests - $xpath_tests
44
42
 
45
- start_ie_with_logger
46
- set_local_dir
43
+ $ie = Watir::IE.new
44
+ $ie.set_fast_speed
47
45
 
46
+ $myDir = File.expand_path(File.dirname(__FILE__))
47
+ $myDir.sub!( %r{/cygdrive/(\w)/}, '\1:/' ) # convert from cygwin to dos
48
+ # if you run the unit tests form a local file system use this line
49
+ $htmlRoot = "file://#{$myDir}/html/"
50
+ # if you run the unit tests from a web server use this line
51
+ # $htmlRoot = "http://localhost:8080/watir/html/"
@@ -0,0 +1,22 @@
1
+ # tests for ability to set defaults for Watir
2
+ # revision: $Revision: 958 $
3
+ $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
4
+ require 'test/unit'
5
+ require 'watir'
6
+
7
+ class TC_Defaults < Test::Unit::TestCase
8
+ include Watir
9
+
10
+ def test_using_default
11
+ @ie1 = IE.new
12
+ @ie1.speed = :fast
13
+ assert_equal(:fast, @ie1.speed)
14
+ @ie1.speed = :slow
15
+ assert_equal(:slow, @ie1.speed)
16
+ assert_raise(ArgumentError){@ie1.speed = :fubar}
17
+ end
18
+
19
+ def teardown
20
+ @ie1.close if @ie1
21
+ end
22
+ end
@@ -0,0 +1,40 @@
1
+ # feature tests for xpath table cells
2
+ # revision: $Revision: 962 $
3
+
4
+ $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
5
+ require 'unittests/setup'
6
+
7
+ class TC_TableCell_XPath < Test::Unit::TestCase
8
+ include Watir
9
+
10
+ def setup
11
+ gotoTableCellPage
12
+ end
13
+
14
+ def gotoTableCellPage
15
+ $ie.goto($htmlRoot + "tableCell_using_xpath.html")
16
+ end
17
+
18
+ def testCellExists
19
+ # There is no <image> with @src='rectangle.jpg'. So image will not be there.
20
+ assert(! $ie.cell(:xpath , "//img[@src='images\/rectangle.jpg']/../").exists? )
21
+ # Select the parent element of image with src='square.jpg' which is a tablecell.
22
+ assert( $ie.cell(:xpath , "//img[@src='images\/square.jpg']/../").exists? )
23
+ assert( $ie.cell(:xpath , "//img[@src='images\/triangle.jpg']/../").exists? )
24
+ puts "Selected table cell with text 'Table Cell with image of triangle.'"
25
+ puts $ie.cell(:xpath , "//img[@src='images\/triangle.jpg']/../").to_s
26
+ end
27
+
28
+ def testCell_properties
29
+ assert_equal(1 , $ie.cell(:xpath , "//img[@src='images\/square.jpg']/../").colspan)
30
+ assert_equal(2 , $ie.cell(:xpath , "//img[@src='images\/triangle.jpg']/../").colspan)
31
+ assert_equal(3 , $ie.cell(:xpath , "//img[@src='images\/circle.jpg']/../").colspan)
32
+ assert_equal(4 , $ie.cell(:xpath , "//img[@src='images\/button.jpg']/../").colspan)
33
+
34
+ # to string tests -- output should be verified!
35
+ puts $ie.cell(:xpath , "//img[@src='images\/square.jpg']/../").to_s
36
+ puts $ie.cell(:xpath , "//img[@src='images\/triangle.jpg']/../").to_s
37
+ end
38
+
39
+ end
40
+
@@ -1,306 +1,337 @@
1
1
  # feature tests for Tables
2
- # revision: $Revision: 1.29 $
2
+ # revision: $Revision: 1076 $
3
3
 
4
4
  $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
5
5
  require 'unittests/setup'
6
6
 
7
7
  class TC_Tables < Test::Unit::TestCase
8
- include Watir
9
-
10
- def setup
11
- gotoTablePage
12
- end
13
-
14
- def gotoTablePage()
15
- $ie.goto($htmlRoot + "table1.html")
16
- end
17
-
18
- def test_Table_Exists
19
- assert_false($ie.table(:id , 'missingTable').exists? )
20
- assert_false($ie.table(:index, 33).exists? )
21
-
22
- assert($ie.table(:id, 't1').exists? )
23
- assert($ie.table(:id, /t/).exists? )
24
- assert_false($ie.table(:id , /missing_table/).exists? )
25
-
26
-
27
- assert($ie.table(:index, 1).exists? )
28
- assert($ie.table(:index, 2).exists? )
29
- end
30
-
31
- def test_rows
32
- assert_raises( UnknownTableException ){ $ie.table(:id , 'missingTable').row_count }
33
- assert_raises( UnknownTableException ){ $ie.table(:index , 66).row_count }
34
-
35
- assert_equal( 2 , $ie.table(:index , 1).row_count)
36
- assert_equal( 5 , $ie.table(:id, 't1').row_count) # 4 rows and a header
37
- assert_equal( 5 , $ie.table(:index, 2).row_count) # same table as above, just accessed by index
38
-
39
- # test the each iterator on rows - ie, go through each cell
40
- row = $ie.table(:index, 2)[2]
41
- count=1
42
- row.each do |cell|
43
- # cell.flash # this line commented out to speed up the test
44
- if count == 1
45
- assert_equal('Row 1 Col1' , cell.to_s.strip )
46
- elsif count==2
47
- assert_equal('Row 1 Col2' , cell.to_s.strip )
48
- end
49
- count+=1
50
- end
51
- assert_equal(2, count -1)
52
- assert_equal(2, $ie.table(:index, 2)[2].column_count)
53
- end
8
+ include Watir
54
9
 
55
- def test_dynamic_tables
56
- t = $ie.table(:id, 't1')
57
- assert_equal( 5, t.row_count)
58
-
59
- $ie.button(:value , 'add row').click
60
- assert_equal( 6, t.row_count)
61
- end
62
-
63
- def test_columns
64
-
65
- assert_raises( UnknownTableException ){ $ie.table(:id , 'missingTable').column_count }
66
- assert_raises( UnknownTableException ){ $ie.table(:index , 77).column_count }
67
- assert_equal( 2 , $ie.table(:index , 1).column_count)
68
- assert_equal( 1 , $ie.table(:id, 't1').column_count) # row one has 1 cell with a colspan of 2
69
- end
70
-
71
- def test_to_a
72
- table1Expected = [ ["Row 1 Col1" , "Row 1 Col2"] ,[ "Row 2 Col1" , "Row 2 Col2"] ]
73
- assert_arrayEquals(table1Expected, $ie.table(:index , 1).to_a )
74
- end
75
-
76
- def test_simple_table_access
77
- $ie.goto($htmlRoot + "simple_table.html")
78
-
79
- table = $ie.table(:index,1)
10
+ def setup
11
+ $ie.goto($htmlRoot + "table1.html")
12
+ end
13
+
14
+ def test_Table_Exists
15
+ assert(!$ie.table(:id, 'missingTable').exists?)
16
+ assert(!$ie.table(:index, 33).exists?)
80
17
 
81
- assert_equal("Row 3 Col1",table[3][1].text.strip)
82
- assert_equal("Row 1 Col1",table[1][1].text.strip)
83
- assert_equal("Row 3 Col2",table[3][2].text.strip)
84
- assert_equal(2,table.column_count)
85
- end
18
+ assert($ie.table(:id, 't1').exists?)
19
+ assert($ie.table(:id, /t/).exists?)
20
+ assert(!$ie.table(:id, /missing_table/).exists?)
21
+
22
+ assert($ie.table(:index, 1).exists?)
23
+ assert($ie.table(:index, 2).exists?)
24
+ end
86
25
 
87
- def test_simple_table_buttons
88
- $ie.goto($htmlRoot + "simple_table_buttons.html")
89
-
90
- table = $ie.table(:index,1)
91
-
92
- table[1][1].button(:index,1).click
93
- assert($ie.textField(:name,"confirmtext").verify_contains(/CLICK1/i))
94
- table[2][1].button(:index,1).click
95
- assert($ie.textField(:name,"confirmtext").verify_contains(/CLICK2/i))
96
-
97
- table[1][1].button(:id,'b1').click
98
- assert($ie.textField(:name,"confirmtext").verify_contains(/CLICK1/i))
99
-
100
- assert_raises(UnknownObjectException ) { table[1][1].button(:id,'b_missing').click }
101
-
102
- table[3][1].button(:index,2).click
103
- assert($ie.textField(:name,"confirmtext").verify_contains(/TOO/i))
104
-
105
- table[3][1].button(:value ,"Click too").click
106
- assert($ie.textField(:name,"confirmtext").verify_contains(/TOO/i))
107
-
108
- $ie.table(:index,1)[4][1].text_field(:index,1).set("123")
109
- assert($ie.text_field(:index,2).verify_contains("123"))
110
-
111
- # check when a cell contains 2 objects
112
-
113
- # if there were 2 different html objects in the same cell, some weird things happened ( button caption could change for example)
114
- assert_equal( 'Click ->' , $ie.table(:index,1)[5][1].text_field(:index,1).value )
115
- $ie.table(:index,1)[5][1].text_field(:index,1).click
116
- assert_equal( 'Click ->' , $ie.table(:index,1)[5][1].text_field(:index,1).value )
117
-
118
- $ie.table(:index,1)[5][1].button(:index,1).click
119
- assert_equal( '' , $ie.table(:index,1)[5][1].text_field(:index,1).value )
120
- end
121
-
122
- def test_simple_table_gif
123
- $ie.goto($htmlRoot + "simple_table_buttons.html")
124
-
125
- table = $ie.table(:index,2)
126
-
127
- assert_match( /1\.gif/ , table[1][1].image( :index,1).src )
128
- assert_match( /2\.gif/ , table[1][2].image( :index ,1).src )
129
- assert_match( /3\.gif/ , table[1][3].image( :index ,1).src )
130
-
131
- assert_match( /1\.gif/ , table[3][1].image( :index ,1).src )
132
- assert_match( /2\.gif/ , table[3][2].image( :index ,1).src )
133
- assert_match( /3\.gif/ , table[3][3].image( :index ,1).src )
134
-
135
- table = $ie.table(:index,3)
136
- assert_match( /1\.gif/ , table[1][1].image( :index ,1).src )
137
- assert_match( /2\.gif/ , table[1][1].image( :index ,2).src )
138
- assert_match( /3\.gif/ , table[1][1].image( :index ,3).src )
139
-
140
- assert_match( /1\.gif/ , table[3][1].image( :index ,1).src )
141
- assert_match( /2\.gif/ , table[3][1].image( :index ,2).src )
142
- assert_match( /3\.gif/ , table[3][1].image( :index ,3).src )
143
- end
144
-
145
- def test_table_with_hidden_or_visible_rows
146
- $ie.goto($htmlRoot + "simple_table_buttons.html")
147
- t = $ie.table(:id , 'show_hide')
148
-
149
- # expand the table
150
- t.each do |r|
151
- r[1].image(:src, /plus/).click if r[1].image(:src, /plus/).exists?
152
- end
153
-
154
- # shrink rows 1,2,3
155
- count=1
156
- t.each do |r|
157
- r[1].image(:src, /minus/).click if r[1].image(:src, /minus/).exists? and (1..3) === count
158
- count=2
159
- end
160
- end
161
-
162
- def test_links_and_images_in_table
163
- table = $ie.table(:id, 'pic_table')
164
- image = table[1][2].image(:index,1)
165
- assert_equal("106", image.width)
166
-
167
- link = table[1][4].link(:index,1)
168
- assert_equal("Google", link.innerText)
169
- end
170
-
171
- def test_table_from_element
172
- $ie.goto($htmlRoot + "simple_table_buttons.html")
173
-
174
- button = $ie.button(:id,"b1")
175
- table = Table.create_from_element($ie,button)
176
-
177
- table[2][1].button(:index,1).click
178
- assert($ie.textField(:name,"confirmtext").verify_contains(/CLICK2/i))
179
- end
180
-
181
- def test_complex_table_access
182
- $ie.goto($htmlRoot + "complex_table.html")
183
-
184
- table = $ie.table(:index,1)
185
-
186
- assert_equal("subtable1 Row 1 Col1",table[1][1].table(:index,1)[1][1].text.strip)
187
- assert_equal("subtable1 Row 1 Col2",table[1][1].table(:index,1)[1][2].text.strip)
188
- assert_equal("subtable2 Row 1 Col2",table[2][1].table(:index,1)[1][2].text.strip)
189
- assert_equal("subtable2 Row 1 Col1",table[2][1].table(:index,1)[1][1].text.strip)
26
+ def test_rows
27
+ assert_raises(UnknownObjectException ){ $ie.table(:id, 'missingTable').row_count }
28
+ assert_raises(UnknownObjectException ){ $ie.table(:index, 66).row_count }
29
+ assert_raises(MissingWayOfFindingObjectException){ $ie.table(:bad_attribute, 99).row_count }
30
+
31
+ assert_equal(2, $ie.table(:index, 1).row_count)
32
+ assert_equal(2, $ie.table(:index, 1).rows.length)
33
+
34
+ assert_equal(5, $ie.table(:id, 't1').row_count) # 4 rows and a header
35
+ assert_equal(5, $ie.table(:index, 2).row_count) # same table as above, just accessed by index
36
+ assert_equal(5, $ie.table(:id, 't1').rows.length)
37
+
38
+ # test the each iterator on rows - ie, go through each cell
39
+ row = $ie.table(:index, 2)[2]
40
+ count = 1
41
+ row.each do |cell|
42
+ # cell.flash # this line commented out to speed up the test
43
+ if count == 1
44
+ assert_equal('Row 1 Col1', cell.to_s.strip)
45
+ elsif count==2
46
+ assert_equal('Row 1 Col2', cell.to_s.strip)
47
+ end
48
+ count += 1
190
49
  end
191
-
192
- def test_cell_directly
193
-
194
- assert( $ie.cell(:id, 'cell1').exists? )
195
- assert_false( $ie.cell(:id, 'no_exist').exists? )
196
- assert_equal( "Row 1 Col1", $ie.cell(:id, 'cell1').to_s.strip )
197
-
198
- # not really cell directly, but just to show another way of geting the cell
199
- assert_equal( "Row 1 Col1", $ie.table(:index,1)[1][1].to_s.strip )
50
+ assert_equal(2, count -1)
51
+ assert_equal(2, $ie.table(:index, 2)[2].column_count)
52
+ end
53
+
54
+ def test_dynamic_tables
55
+ t = $ie.table(:id, 't1')
56
+ assert_equal(5, t.row_count)
57
+
58
+ $ie.button(:value, 'add row').click
59
+ assert_equal(6, t.row_count)
60
+ end
61
+
62
+ def test_columns
63
+ assert_raises(UnknownObjectException ){ $ie.table(:id, 'missingTable').column_count }
64
+ assert_raises(UnknownObjectException ){ $ie.table(:index, 77).column_count }
65
+ assert_equal(2, $ie.table(:index, 1).column_count)
66
+ assert_equal(1, $ie.table(:id, 't1').column_count) # row one has 1 cell with a colspan of 2
67
+ end
68
+
69
+ def test_to_a
70
+ table1Expected = [ ["Row 1 Col1" , "Row 1 Col2"] ,[ "Row 2 Col1" , "Row 2 Col2"] ]
71
+ assert_equal(table1Expected, $ie.table(:index , 1).to_a )
72
+ end
73
+
74
+ def test_links_and_images_in_table
75
+ table = $ie.table(:id, 'pic_table')
76
+ image = table[1][2].image(:index,1)
77
+ assert_equal("106", image.width)
78
+
79
+ link = table[1][4].link(:index,1)
80
+ assert_equal("Google", link.innerText)
81
+ end
82
+
83
+ def test_cell_directly
84
+ assert( $ie.cell(:id, 'cell1').exists? )
85
+ assert(! $ie.cell(:id, 'no_exist').exists? )
86
+ assert_equal( "Row 1 Col1", $ie.cell(:id, 'cell1').to_s.strip )
87
+
88
+ # not really cell directly, but just to show another way of geting the cell
89
+ assert_equal( "Row 1 Col1", $ie.table(:index,1)[1][1].to_s.strip )
90
+ end
91
+
92
+ def test_row_directly
93
+ assert( $ie.row(:id, 'row1').exists? )
94
+ assert(! $ie.row(:id, 'no_exist').exists? )
95
+
96
+ assert_equal('Row 2 Col1' , $ie.row(:id, 'row1')[1].to_s.strip )
97
+ end
98
+
99
+ def test_row_iterator
100
+ t = $ie.table(:index, 1)
101
+ count = 1
102
+ t.each do |row|
103
+ if count == 1
104
+ assert("Row 1 Col1", row[1].text)
105
+ assert("Row 1 Col2", row[2].text)
106
+ elsif count == 2
107
+ assert("Row 2 Col1", row[1].text)
108
+ assert("Row 2 Col2", row[2].text)
109
+ end
110
+ count += 1
200
111
  end
201
-
202
- def test_row_directly
203
- assert( $ie.row(:id, 'row1').exists? )
204
- assert_false( $ie.row(:id, 'no_exist').exists? )
205
-
206
- assert_equal('Row 2 Col1' , $ie.row(:id, 'row1')[1].to_s.strip )
112
+ end
113
+
114
+ def test_row_collection
115
+ t = $ie.table(:index,1)
116
+ count = 1
117
+ t.rows.each do |row|
118
+ if count == 1
119
+ assert("Row 1 Col1", row[1].text)
120
+ assert("Row 1 Col2", row[2].text)
121
+ elsif count == 2
122
+ assert("Row 2 Col1", row[1].text)
123
+ assert("Row 2 Col2", row[2].text)
124
+ end
125
+ count += 1
207
126
  end
208
-
209
- def test_row_iterator
210
- t = $ie.table(:index,1)
211
- count =1
212
- t.each do |row|
213
- if count==1
214
- assert( "Row 1 Col1" , row[1].text )
215
- assert( "Row 1 Col2" , row[2].text )
216
- elsif count==2
217
- assert( "Row 2 Col1" , row[1].text )
218
- assert( "Row 2 Col2" , row[2].text )
219
- end
220
- end
127
+ end
128
+
129
+ def test_cell_collection
130
+ t = $ie.table(:index,1)
131
+ count = 1
132
+ contents = t.cells.collect {|c| c.text}
133
+ assert_equal(["Row 1 Col1","Row 1 Col2","Row 2 Col1","Row 2 Col2"], contents)
134
+ end
135
+
136
+ def test_table_body
137
+ assert_equal( 1, $ie.table(:index,1).bodies.length )
138
+ assert_equal( 3, $ie.table(:id, 'body_test' ).bodies.length )
139
+
140
+ count = 1
141
+ $ie.table(:id, 'body_test').bodies.each do |n|
142
+
143
+ # do something better here!
144
+ # n.flash # this line commented out to speed up the test
145
+
146
+ case count
147
+ when 1
148
+ compare_text = "This text is in the FRST TBODY."
149
+ when 2
150
+ compare_text = "This text is in the SECOND TBODY."
151
+ when 3
152
+ compare_text = "This text is in the THIRD TBODY."
153
+ end
154
+
155
+ assert_equal(compare_text, n[1][1].to_s.strip ) # this is the 1st cell of the first row of this particular body
156
+
157
+ count += 1
221
158
  end
222
-
223
- def test_table_body
224
- assert_equal( 1, $ie.table(:index,1).bodies.length )
225
- assert_equal( 3, $ie.table(:id, 'body_test' ).bodies.length )
226
-
227
- count = 1
228
- $ie.table(:id, 'body_test' ).bodies.each do |n|
229
-
230
- # do something better here!
231
- # n.flash # this line commented out to speed up the test
232
-
233
- case count
234
- when 1
235
- compare_text = "This text is in the FRST TBODY."
236
- when 2
237
- compare_text = "This text is in the SECOND TBODY."
238
- when 3
239
- compare_text = "This text is in the THIRD TBODY."
240
- end
241
-
242
- assert_equal( compare_text , n[1][1].to_s.strip ) # this is the 1st cell of the first row of this particular body
243
-
244
- count +=1
245
- end
246
- assert_equal( count-1, $ie.table(:id, 'body_test' ).bodies.length )
247
-
248
- assert_equal( "This text is in the THIRD TBODY." ,$ie.table(:id, 'body_test' ).body(:index,3)[1][1].to_s.strip )
249
-
250
- # iterate through all the rows in a table body
251
- count = 1
252
- $ie.table(:id, 'body_test' ).body(:index,2).each do | row |
253
- # row.flash # this line commented out, to speed up the tests
254
- if count == 1
255
- assert_equal('This text is in the SECOND TBODY.' , row[1].text.strip )
256
- elsif count == 1
257
- assert_equal('This text is also in the SECOND TBODY.' , row[1].text.strip )
258
- end
259
- count+=1
260
- end
159
+ assert_equal( count - 1, $ie.table(:id, 'body_test').bodies.length )
160
+
161
+ assert_equal( "This text is in the THIRD TBODY." ,$ie.table(:id, 'body_test' ).body(:index,3)[1][1].to_s.strip )
162
+
163
+ # iterate through all the rows in a table body
164
+ count = 1
165
+ $ie.table(:id, 'body_test').body(:index, 2).each do | row |
166
+ # row.flash # this line commented out, to speed up the tests
167
+ if count == 1
168
+ assert_equal('This text is in the SECOND TBODY.', row[1].text.strip )
169
+ elsif count == 1 # BUG: Huh?
170
+ assert_equal('This text is also in the SECOND TBODY.', row[1].text.strip )
171
+ end
172
+ count+=1
261
173
  end
174
+ end
175
+
176
+ def test_table_container
177
+ assert_nothing_raised { $ie.table(:id, 't1').html }
178
+ end
179
+ end
262
180
 
263
- def test_get_columnvalues_single_column
264
- $ie.goto($htmlRoot + "simple_table_columns.html")
265
- assert_equal(["R1C1", "R2C1", "R3C1"], $ie.table(:index, 1).column_values(1))
181
+ class TC_Tables_Simple < Test::Unit::TestCase
182
+ include Watir
183
+
184
+ def setup
185
+ $ie.goto($htmlRoot + "simple_table.html")
186
+ end
187
+
188
+ def test_simple_table_access
189
+ table = $ie.table(:index,1)
190
+
191
+ assert_equal("Row 3 Col1",table[3][1].text.strip)
192
+ assert_equal("Row 1 Col1",table[1][1].text.strip)
193
+ assert_equal("Row 3 Col2",table[3][2].text.strip)
194
+ assert_equal(2,table.column_count)
195
+ end
196
+ end
197
+ class TC_Tables_Buttons < Test::Unit::TestCase
198
+ include Watir
199
+
200
+ def setup
201
+ $ie.goto($htmlRoot + "simple_table_buttons.html")
202
+ end
203
+
204
+ def test_simple_table_buttons
205
+ table = $ie.table(:index,1)
206
+
207
+ table[1][1].button(:index,1).click
208
+ assert($ie.textField(:name,"confirmtext").verify_contains(/CLICK1/i))
209
+ table[2][1].button(:index,1).click
210
+ assert($ie.textField(:name,"confirmtext").verify_contains(/CLICK2/i))
211
+
212
+ table[1][1].button(:id,'b1').click
213
+ assert($ie.textField(:name,"confirmtext").verify_contains(/CLICK1/i))
214
+
215
+ assert_raises(UnknownObjectException ) { table[1][1].button(:id,'b_missing').click }
216
+
217
+ table[3][1].button(:index,2).click
218
+ assert($ie.textField(:name,"confirmtext").verify_contains(/TOO/i))
219
+
220
+ table[3][1].button(:value ,"Click too").click
221
+ assert($ie.textField(:name,"confirmtext").verify_contains(/TOO/i))
222
+
223
+ $ie.table(:index,1)[4][1].text_field(:index,1).set("123")
224
+ assert($ie.text_field(:index,2).verify_contains("123"))
225
+
226
+ # check when a cell contains 2 objects
227
+
228
+ # if there were 2 different html objects in the same cell, some weird things happened ( button caption could change for example)
229
+ assert_equal( 'Click ->' , $ie.table(:index,1)[5][1].text_field(:index,1).value )
230
+ $ie.table(:index,1)[5][1].text_field(:index,1).click
231
+ assert_equal( 'Click ->' , $ie.table(:index,1)[5][1].text_field(:index,1).value )
232
+
233
+ $ie.table(:index,1)[5][1].button(:index,1).click
234
+ assert_equal( '' , $ie.table(:index,1)[5][1].text_field(:index,1).value )
235
+ end
236
+
237
+ def test_simple_table_gif
238
+ table = $ie.table(:index,2)
239
+
240
+ assert_match( /1\.gif/ , table[1][1].image( :index,1).src )
241
+ assert_match( /2\.gif/ , table[1][2].image( :index ,1).src )
242
+ assert_match( /3\.gif/ , table[1][3].image( :index ,1).src )
243
+
244
+ assert_match( /1\.gif/ , table[3][1].image( :index ,1).src )
245
+ assert_match( /2\.gif/ , table[3][2].image( :index ,1).src )
246
+ assert_match( /3\.gif/ , table[3][3].image( :index ,1).src )
247
+
248
+ table = $ie.table(:index,3)
249
+ assert_match( /1\.gif/ , table[1][1].image( :index ,1).src )
250
+ assert_match( /2\.gif/ , table[1][1].image( :index ,2).src )
251
+ assert_match( /3\.gif/ , table[1][1].image( :index ,3).src )
252
+
253
+ assert_match( /1\.gif/ , table[3][1].image( :index ,1).src )
254
+ assert_match( /2\.gif/ , table[3][1].image( :index ,2).src )
255
+ assert_match( /3\.gif/ , table[3][1].image( :index ,3).src )
256
+ end
257
+
258
+ def test_table_with_hidden_or_visible_rows
259
+ t = $ie.table(:id , 'show_hide')
260
+
261
+ # expand the table
262
+ t.each do |r|
263
+ r[1].image(:src, /plus/).click if r[1].image(:src, /plus/).exists?
266
264
  end
267
-
268
- def test_colspan
269
- $ie.goto($htmlRoot + "simple_table_columns.html")
270
- assert_equal(2, $ie.table(:index, 3)[2][1].colspan)
271
- assert_equal(1, $ie.table(:index, 3)[1][1].colspan)
272
- assert_equal(3, $ie.table(:index, 3)[4][1].colspan)
273
-
265
+
266
+ # shrink rows 1,2,3
267
+ count=1
268
+ t.each do |r|
269
+ r[1].image(:src, /minus/).click if r[1].image(:src, /minus/).exists? and (1..3) === count
270
+ count=2
274
271
  end
272
+ end
273
+
274
+ def test_table_from_element
275
+ button = $ie.button(:id, "b1")
276
+ table = Table.create_from_element($ie, button)
277
+
278
+ table[2][1].button(:index, 1).click
279
+ assert($ie.textField(:name, "confirmtext").verify_contains(/CLICK2/i))
280
+ end
281
+ end
275
282
 
283
+ class TC_Table_Columns < Test::Unit::TestCase
284
+ include Watir
285
+ def setup
286
+ $ie.goto($htmlRoot + "simple_table_columns.html")
287
+ end
288
+
289
+ def test_get_columnvalues_single_column
290
+ assert_equal(["R1C1", "R2C1", "R3C1"], $ie.table(:index, 1).column_values(1))
291
+ end
292
+
293
+ def test_colspan
294
+ assert_equal(2, $ie.table(:index, 3)[2][1].colspan)
295
+ assert_equal(1, $ie.table(:index, 3)[1][1].colspan)
296
+ assert_equal(3, $ie.table(:index, 3)[4][1].colspan)
297
+ end
298
+
299
+ def test_get_columnvalues_multiple_column
300
+ assert_equal(["R1C1", "R2C1", "R3C1"], $ie.table(:index, 2).column_values(1))
301
+ assert_equal(["R1C3", "R2C3", "R3C3"], $ie.table(:index, 2).column_values(3))
302
+ end
303
+
304
+ def test_get_columnvalues_with_colspan
305
+ assert_equal(["R1C1", "R2C1", "R3C1", "R4C1", "R5C1", "R6C2"], $ie.table(:index, 3).column_values(1))
306
+ (2..4).each{|x|assert_raises(UnknownCellException){$ie.table(:index, 3).column_values(x)}}
307
+ end
308
+
309
+ def test_get_rowvalues_full_row
310
+ assert_equal(["R1C1", "R1C2", "R1C3"], $ie.table(:index, 3).row_values(1))
311
+ end
312
+
313
+ def test_get_rowvalues_with_colspan
314
+ assert_equal(["R2C1", "R2C2"], $ie.table(:index, 3).row_values(2))
315
+ end
316
+
317
+ def test_getrowvalues_with_rowspan
318
+ assert_equal(["R5C1", "R5C2", "R5C3"], $ie.table(:index, 3).row_values(5))
319
+ assert_equal(["R6C2", "R6C3"], $ie.table(:index, 3).row_values(6))
320
+ end
321
+ end
276
322
 
323
+ class TC_Tables_Complex < Test::Unit::TestCase
324
+ include Watir
325
+ def setup
326
+ $ie.goto($htmlRoot + "complex_table.html")
327
+ end
277
328
 
278
-
279
- def test_get_columnvalues_multiple_column
280
- $ie.goto($htmlRoot + "simple_table_columns.html")
281
- assert_equal(["R1C1", "R2C1", "R3C1"], $ie.table(:index, 2).column_values(1))
282
- assert_equal(["R1C3", "R2C3", "R3C3"], $ie.table(:index, 2).column_values(3))
283
- end
284
-
285
- def test_get_columnvalues_with_colspan
286
- $ie.goto($htmlRoot + "simple_table_columns.html")
287
- assert_equal(["R1C1", "R2C1", "R3C1", "R4C1", "R5C1", "R6C2"], $ie.table(:index, 3).column_values(1))
288
- (2..4).each{|x|assert_raises(UnknownCellException){$ie.table(:index, 3).column_values(x)}}
289
- end
290
-
291
- def test_get_rowvalues_full_row
292
- $ie.goto($htmlRoot + "simple_table_columns.html")
293
- assert_equal(["R1C1", "R1C2", "R1C3"], $ie.table(:index, 3).row_values(1))
294
- end
329
+ def test_complex_table_access
330
+ table = $ie.table(:index,1)
295
331
 
296
- def test_get_rowvalues_with_colspan
297
- $ie.goto($htmlRoot + "simple_table_columns.html")
298
- assert_equal(["R2C1", "R2C2"], $ie.table(:index, 3).row_values(2))
299
- end
300
-
301
- def test_getrowvalues_with_rowspan
302
- $ie.goto($htmlRoot + "simple_table_columns.html")
303
- assert_equal(["R5C1", "R5C2", "R5C3"], $ie.table(:index, 3).row_values(5))
304
- assert_equal(["R6C2", "R6C3"], $ie.table(:index, 3).row_values(6))
305
- end
332
+ assert_equal("subtable1 Row 1 Col1",table[1][1].table(:index,1)[1][1].text.strip)
333
+ assert_equal("subtable1 Row 1 Col2",table[1][1].table(:index,1)[1][2].text.strip)
334
+ assert_equal("subtable2 Row 1 Col2",table[2][1].table(:index,1)[1][2].text.strip)
335
+ assert_equal("subtable2 Row 1 Col1",table[2][1].table(:index,1)[1][1].text.strip)
336
+ end
306
337
  end