watir 1.4.1 → 1.5.2

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -1,9 +1,13 @@
1
+ # these are the tests that run reliably and invisibly
2
+
1
3
  TOPDIR = File.join(File.dirname(__FILE__), '..')
2
4
  $LOAD_PATH.unshift TOPDIR
3
5
 
6
+ require 'watir'
7
+
8
+ $HIDE_IE = true
9
+
4
10
  require 'unittests/setup.rb'
5
11
 
6
12
  Dir.chdir TOPDIR
7
13
  $core_tests.each {|x| require x}
8
-
9
-
@@ -1,60 +1,60 @@
1
1
  # feature tests for css
2
- # revision: $Revision: 1.14.4.1 $
2
+ # revision: $Revision: 962 $
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_CSS < Test::Unit::TestCase
8
- include Watir
9
-
10
- def divTester( message )
11
-
12
- divs = $ie.getIE.document.getElementsByTagName("DIV")
13
- puts "Found #{divs.length} div tags"
14
- divs.each do |d|
15
- puts "Checking div #{d.id}"
16
- puts "div #{d.invoke("id") } class is #{d.invoke("className") }"
17
- end
18
- end
19
-
20
- def isMessageDisplayed(message)
21
-
22
- s = false
23
- divs = $ie.getIE.document.getElementsByTagName("DIV")
24
- #puts "Found #{divs.length} div tags"
25
- divs.each do |d|
26
- #puts "----Checking div #{d.id} innertext is ( #{d.innerText} )"
27
-
28
- if d.innerText.to_s.downcase.match( /#{message}/i )
29
-
30
- #puts "div #{d.invoke("id") } class is #{d.invoke("className") }"
31
- if d.invoke("className").to_s.downcase.match(/show/i)
32
- #puts "message is shown!!!"
33
- s = true
34
- end
35
-
36
- end
37
- end
38
-
39
- #puts "Not Shown " if s== false
40
- return s
41
- end
42
-
43
- def gotoCSSPage()
44
- $ie.goto($htmlRoot + "cssTest.html")
8
+ include Watir
9
+
10
+ def divTester( message )
11
+
12
+ divs = $ie.getIE.document.getElementsByTagName("DIV")
13
+ puts "Found #{divs.length} div tags"
14
+ divs.each do |d|
15
+ puts "Checking div #{d.id}"
16
+ puts "div #{d.invoke("id") } class is #{d.invoke("className") }"
45
17
  end
46
-
47
- def test_SuccessMessage
48
- gotoCSSPage()
49
- $ie.button( :caption , "Success").click
50
-
51
- #isMessageDisplayed( "Success" )
52
- #divTester( "Success" )
53
- assert( isMessageDisplayed("Success") )
54
-
55
- $ie.button( :caption , "Failure").click
56
-
57
- assert_false(isMessageDisplayed("Success") )
18
+ end
19
+
20
+ def isMessageDisplayed(message)
21
+
22
+ s = false
23
+ divs = $ie.getIE.document.getElementsByTagName("DIV")
24
+ #puts "Found #{divs.length} div tags"
25
+ divs.each do |d|
26
+ #puts "----Checking div #{d.id} innertext is ( #{d.innerText} )"
27
+
28
+ if d.innerText.to_s.downcase.match( /#{message}/i )
29
+
30
+ #puts "div #{d.invoke("id") } class is #{d.invoke("className") }"
31
+ if d.invoke("className").to_s.downcase.match(/show/i)
32
+ #puts "message is shown!!!"
33
+ s = true
34
+ end
35
+
36
+ end
58
37
  end
38
+
39
+ #puts "Not Shown " if s== false
40
+ return s
41
+ end
42
+
43
+ def gotoCSSPage
44
+ $ie.goto($htmlRoot + "cssTest.html")
45
+ end
46
+
47
+ def test_SuccessMessage
48
+ gotoCSSPage
49
+ $ie.button( :caption , "Success").click
50
+
51
+ #isMessageDisplayed( "Success" )
52
+ #divTester( "Success" )
53
+ assert( isMessageDisplayed("Success") )
54
+
55
+ $ie.button( :caption , "Failure").click
56
+
57
+ assert(!isMessageDisplayed("Success") )
58
+ end
59
59
  end
60
60
 
@@ -0,0 +1,47 @@
1
+ # tests of deferring when a Watir object is bound to a com object (lazy evaluation)
2
+
3
+ # revision: $Revision: 962 $
4
+
5
+ $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
6
+ require 'unittests/setup'
7
+ require 'unittests/buttons_test.rb'
8
+
9
+ class TC_Defer < Test::Unit::TestCase
10
+ def teardown
11
+ @ie_new.close if defined?(@ie_new)
12
+ $ie.goto('about:blank')
13
+ end
14
+ def test_binding_to_newly_loaded_page
15
+ @ie_new = Watir::IE.new
16
+ text_field = @ie_new.text_field(:name, 'text1')
17
+ button = @ie_new.button(:value, 'Clear Events Box')
18
+ div = @ie_new.div(:name, 'divvy')
19
+ @ie_new.goto($htmlRoot + "textfields1.html")
20
+ assert_equal('Hello World', text_field.value)
21
+ assert_equal('Clear Events Box', button.value)
22
+ assert_equal('Div Text', div.text)
23
+ end
24
+ def test_binding_to_refreshed_page
25
+ $ie.goto($htmlRoot + "textfields1.html")
26
+ text_field = $ie.text_field(:name, 'text1')
27
+ button = $ie.button(:value, 'Clear Events Box')
28
+ div = $ie.div(:name, 'divvy')
29
+ $ie.refresh
30
+ assert_equal('Hello World', text_field.value)
31
+ assert(text_field.enabled?)
32
+ assert_equal('Clear Events Box', button.value)
33
+ assert_equal('Div Text', div.text)
34
+ end
35
+ def test_exists
36
+ @ie_new = Watir::IE.new
37
+ text_field = @ie_new.text_field(:name, 'text1')
38
+ button = @ie_new.button(:value, 'Clear Events Box')
39
+ div = @ie_new.div(:name, 'divvy')
40
+ assert(!text_field.exists?)
41
+ assert(!button.exists?)
42
+ @ie_new.goto($htmlRoot + "textfields1.html")
43
+ assert(text_field.exists?)
44
+ assert(button.exists?)
45
+ assert(div.exists?)
46
+ end
47
+ end
@@ -0,0 +1,78 @@
1
+ # Feature tests for Dialog class
2
+ # revision: $Revision: 1156 $
3
+
4
+ $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
5
+ require 'unittests/setup'
6
+ require 'watir/dialog'
7
+
8
+ class TC_Dialog_Test < Test::Unit::TestCase
9
+ include Watir
10
+
11
+ def setup
12
+ $ie.goto($htmlRoot + 'JavascriptClick.html')
13
+ end
14
+ def teardown
15
+ begin
16
+ sleep 0.4 # XXX
17
+ dialog.button('OK').click
18
+ rescue
19
+ end
20
+ end
21
+
22
+ def test_alert_without_bonus_script
23
+ $ie.button(:id, 'btnAlert').click_no_wait
24
+ sleep 0.4 # FIXME: need to be able to poll for window to exist
25
+ dialog.button("OK").click
26
+ assert_match(/Alert button!/, $ie.text_field(:id, "testResult").value)
27
+ end
28
+
29
+ def test_button_name_not_found
30
+ $ie.button(:id, 'btnAlert').click_no_wait
31
+ sleep 0.4 # FIXME replace with dialog.exists?
32
+ assert_raises(UnknownObjectException) { dialog.button("Yes").click }
33
+ dialog.button("OK").click
34
+ end
35
+
36
+ def xtest_exists
37
+ autoit = WIN32OLE.new('AutoItX3.Control')
38
+ assert(! dialog.exists?) # known bug: finds main window instead of dialog!
39
+ $ie.button(:id, 'btnAlert').click_no_wait
40
+ sleep 0.4 # FIXME: need to add polling
41
+ assert dialog.exists?
42
+ dialog.button('OK').click
43
+ end
44
+
45
+ def test_leaves_dialog_open
46
+ # should be closed in teardown
47
+ $ie.button(:id, 'btnAlert').click_no_wait
48
+ end
49
+
50
+ def test_copy_array_elements
51
+ a = ['a', 'b', 'c']
52
+ copy = Array.new(a)
53
+ c = []
54
+ code = _code_that_copies_readonly_array(a, "c")
55
+ eval code
56
+ assert_equal copy, c
57
+ end
58
+
59
+ def test_confirm_ok
60
+ $ie.button(:value, 'confirm').click_no_wait
61
+ assert dialog.exists?
62
+ dialog.button('OK').click
63
+ assert_equal "You pressed the Confirm and OK button!", $ie.text_field(:id, 'testResult').value
64
+ end
65
+
66
+ def xtest_confirm_cancel
67
+ $ie.button(:value, 'confirm').click_no_wait
68
+ assert dialog.exists?
69
+ dialog.button('Cancel').click
70
+ assert_equal "You pressed the Confirm and Cancel button!", $ie.text_field(:id, 'testResult').value
71
+ end
72
+
73
+ def test_dialog_close
74
+ dialog.close
75
+ assert !dialog.exists?
76
+ end
77
+
78
+ end
@@ -0,0 +1,22 @@
1
+ # defect reproduction
2
+ # revision: $Revision: 958 $
3
+
4
+ $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
5
+ require 'unittests/setup'
6
+
7
+ class TC_Divs_XPath2 < Test::Unit::TestCase
8
+ def setup
9
+ $ie.goto($htmlRoot + "list_matters.html")
10
+ end
11
+ def test_div_with_text
12
+ # Note: this test fails, probably because of bad html to xml translation.
13
+ # However... the same xpath expression finds the right object in Selenium!
14
+ assert_equal('Add', $ie.div(:xpath, "//div[text()='Add' and @class='ButtonText']").text)
15
+ end
16
+ def test_div_with_contains
17
+ # Note: this test fails, probably because of bad html to xml translation.
18
+ # However... the same xpath expression finds the right object in Selenium!
19
+ assert_equal('Add', $ie.div(:xpath, "//div[contains(.,'Add') and @class='ButtonText']").text)
20
+ end
21
+
22
+ end
@@ -1,179 +1,179 @@
1
1
  # feature tests for Divs, Spans and P's
2
- # revision: $Revision: 1.15 $
2
+ # revision: $Revision: 1086 $
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_Divs < Test::Unit::TestCase
8
- include Watir
8
+ include Watir
9
+
10
+ def setup
11
+ $ie.goto($htmlRoot + "div.html")
12
+ end
13
+
14
+ def test_divs
15
+ assert_raises(UnknownObjectException) {$ie.div(:id , "div77").click }
16
+ assert_raises(UnknownObjectException) {$ie.div(:title , "div77").click }
9
17
 
10
- def setup()
11
- $ie.goto($htmlRoot + "div.html")
12
- end
18
+ assert($ie.text_field(:name, "text1").verify_contains("0") )
19
+ $ie.div(:id , "div3").click
20
+ assert($ie.text_field(:name, "text1").verify_contains("1") )
21
+ $ie.div(:id , "div4").click
22
+ assert($ie.text_field(:name, "text1").verify_contains("0") )
23
+ end
24
+
25
+ def test_div_properties
26
+ assert_raises(UnknownObjectException) {$ie.div(:id , "div77").text }
27
+ assert_raises(UnknownObjectException) {$ie.div(:title , "div77").text }
13
28
 
14
- def test_divs
15
- assert_raises(UnknownObjectException) {$ie.div(:id , "div77").click }
16
- assert_raises(UnknownObjectException) {$ie.div(:title , "div77").click }
17
-
18
- assert($ie.text_field(:name, "text1").verify_contains("0") )
19
- $ie.div(:id , "div3").click
20
- assert($ie.text_field(:name, "text1").verify_contains("1") )
21
- $ie.div(:id , "div4").click
22
- assert($ie.text_field(:name, "text1").verify_contains("0") )
23
- end
29
+ assert_equal("This div has an onClick that increments text1",
30
+ $ie.div(:id , "div3").text.strip )
31
+ assert_equal("This text is in a div with an id of div1 and title of test1",
32
+ $ie.div(:title , "Test1").text.strip )
24
33
 
25
- def test_div_properties
26
- assert_raises(UnknownObjectException) {$ie.div(:id , "div77").text }
27
- assert_raises(UnknownObjectException) {$ie.div(:title , "div77").text }
28
-
29
- assert_equal("This div has an onClick that increments text1",
30
- $ie.div(:id , "div3").text.strip )
31
- assert_equal("This text is in a div with an id of div1 and title of test1",
32
- $ie.div(:title , "Test1").text.strip )
33
-
34
- assert_raises(UnknownObjectException) {$ie.div(:id , "div77").class_name }
35
- assert_equal("blueText" , $ie.div(:id , "div2").class_name )
36
- assert_equal("" , $ie.div(:id , "div1").class_name )
37
-
38
- assert_raises(UnknownObjectException) {$ie.div(:index , 44).class_name }
39
- assert_equal("div1" , $ie.div(:index , 1).id )
40
- assert_equal("" , $ie.div(:index , 1).class_name )
41
- assert_equal("blueText" , $ie.div(:index , 2).class_name )
42
- assert_equal("Div" , $ie.div(:index , 2).type)
43
- assert_equal("" , $ie.div(:index , 2).value)
44
- assert_equal(false , $ie.div(:index , 2).disabled)
45
- assert_equal("" , $ie.div(:index , 2).name)
46
- assert_equal("div2", $ie.div(:index , 2).id)
47
- end
34
+ assert_raises(UnknownObjectException) {$ie.div(:id , "div77").class_name }
35
+ assert_equal("blueText" , $ie.div(:id , "div2").class_name )
36
+ assert_equal("" , $ie.div(:id , "div1").class_name )
48
37
 
49
- def test_div_iterator
50
- assert_equal( 7 , $ie.divs.length)
51
- assert_equal( "div1" , $ie.divs[1].id )
52
-
53
- index =1
54
- $ie.divs.each do |s|
55
- # puts "each - div= " + s.to_s
56
- assert_equal($ie.div(:index, index ).name , s.name )
57
- assert_equal($ie.div(:index, index ).id , s.id )
58
- assert_equal($ie.div(:index, index ).class_name , s.class_name )
59
- index +=1
60
- end
61
- assert_equal(index-1, $ie.divs.length) # -1 as we add 1 at the end of the loop
62
- end
38
+ assert_raises(UnknownObjectException) {$ie.div(:index , 44).class_name }
39
+ assert_equal("div1" , $ie.div(:index , 1).id )
40
+ assert_equal("" , $ie.div(:index , 1).class_name )
41
+ assert_equal("blueText" , $ie.div(:index , 2).class_name )
42
+ assert_equal("" , $ie.div(:index , 2).value)
43
+ assert_equal(false , $ie.div(:index , 2).disabled)
44
+ assert_equal("" , $ie.div(:index , 2).name)
45
+ assert_equal("div2", $ie.div(:index , 2).id)
46
+ end
47
+
48
+ def test_div_iterator
49
+ assert_equal( 7 , $ie.divs.length)
50
+ assert_equal( "div1" , $ie.divs[1].id )
63
51
 
64
- def test_objects_in_div
65
- assert($ie.div(:id, 'buttons1').button(:index,1).exists? )
66
- assert_false($ie.div(:id, 'buttons1').button(:index,3).exists? )
67
- assert($ie.div(:id, 'buttons1').button(:name,'b1').exists? )
68
-
69
- assert($ie.div(:id, 'buttons2').button(:index,1).exists? )
70
- assert($ie.div(:id, 'buttons2').button(:index,2).exists? )
71
- assert_false($ie.div(:id, 'buttons1').button(:index,3).exists? )
72
-
73
- $ie.div(:id, 'buttons1').button(:index,1).click
74
-
75
- assert_equal( 'button1' , $ie.div(:id , 'text_fields1').text_field(:index,1).value)
76
-
77
- assert_equal( 3 , $ie.div(:id , 'text_fields1').text_fields.length )
52
+ index =1
53
+ $ie.divs.each do |s|
54
+ # puts "each - div= " + s.to_s
55
+ assert_equal($ie.div(:index, index ).name , s.name )
56
+ assert_equal($ie.div(:index, index ).id , s.id )
57
+ assert_equal($ie.div(:index, index ).class_name , s.class_name )
58
+ index +=1
78
59
  end
60
+ assert_equal(index-1, $ie.divs.length) # -1 as we add 1 at the end of the loop
61
+ end
62
+
63
+ def test_objects_in_div
64
+ assert($ie.div(:id, 'buttons1').button(:index,1).exists? )
65
+ assert(!$ie.div(:id, 'buttons1').button(:index,3).exists? )
66
+ assert($ie.div(:id, 'buttons1').button(:name,'b1').exists? )
79
67
 
80
- #---- Span Tests ---
81
- def test_spans
82
- assert_raises(UnknownObjectException) {$ie.span(:id , "span77").click }
83
- assert_raises(UnknownObjectException) {$ie.span(:title , "span77").click }
84
-
85
- assert($ie.text_field(:name, "text2").verify_contains("0") )
86
- $ie.span(:id , "span3").click
87
- assert($ie.text_field(:name, "text2").verify_contains("1") )
88
-
89
- $ie.span(:id , "span4").click
90
- assert($ie.text_field(:name, "text2").verify_contains("0") )
91
-
92
- end
93
-
94
- def test_span_properties
95
- assert_raises(UnknownObjectException) {$ie.span(:id , "span77").text }
96
- assert_raises(UnknownObjectException) {$ie.span(:title , "span77").text }
97
-
98
- assert_equal("This span has an onClick that increments text2" , $ie.span(:id , "span3").text.strip )
99
- assert_equal("This text is in a span with an id of span1 and title of test2" , $ie.span(:title , "Test2").text.strip )
100
-
101
- assert_raises(UnknownObjectException) {$ie.span(:id , "span77").class_name }
102
- assert_equal("blueText" , $ie.span(:id , "span2").class_name )
103
- assert_equal("" , $ie.span(:id , "span1").class_name )
104
-
105
- assert_raises(UnknownObjectException) {$ie.span(:index , 44).class_name }
106
- assert_equal("span1" , $ie.span(:index , 1).id )
107
- assert_equal("" , $ie.span(:index , 1).class_name )
108
- assert_equal("blueText" , $ie.span(:index , 2).class_name )
109
- assert_equal("Span" , $ie.span(:index , 2).type)
110
- assert_equal("" , $ie.span(:index , 2).value)
111
- assert_equal(false , $ie.span(:index , 2).disabled)
112
- assert_equal("" , $ie.span(:index , 2).name)
113
- assert_equal("span2", $ie.span(:index , 2).id)
114
- end
68
+ assert($ie.div(:id, 'buttons2').button(:index,1).exists? )
69
+ assert($ie.div(:id, 'buttons2').button(:index,2).exists? )
70
+ assert(!$ie.div(:id, 'buttons1').button(:index,3).exists? )
115
71
 
116
- def test_span_iterator
117
- assert_equal( 7 , $ie.spans.length)
118
- assert_equal( "span1" , $ie.spans[1].id )
119
-
120
- index = 1
121
- $ie.spans.each do |s|
122
- # puts "each - span = " + s.to_s
123
- assert_equal($ie.span(:index, index ).name , s.name )
124
- assert_equal($ie.span(:index, index ).id , s.id )
125
- assert_equal($ie.span(:index, index ).class_name , s.class_name )
126
- index +=1
127
- end
128
- assert_equal(index-1, $ie.spans.length) # -1 as we add 1 at the end of the loop
129
- end
72
+ $ie.div(:id, 'buttons1').button(:index,1).click
130
73
 
131
- def test_objects_in_span
132
- assert($ie.span(:id, 'buttons1').button(:index,1).exists? )
133
- assert_false($ie.span(:id, 'buttons1').button(:index,3).exists? )
134
- assert($ie.span(:id, 'buttons1').button(:name,'b1').exists? )
135
-
136
- assert($ie.span(:id, 'buttons2').button(:index,1).exists? )
137
- assert($ie.span(:id, 'buttons2').button(:index,2).exists? )
138
- assert_false($ie.span(:id, 'buttons1').button(:index,3).exists? )
139
-
140
- $ie.span(:id, 'buttons1').button(:index,1).click
141
-
142
- assert_equal( 'button1' , $ie.span(:id , 'text_fields1').text_field(:index,1).value)
143
-
144
- assert_equal( 3 , $ie.span(:id , 'text_fields1').text_fields.length )
145
- end
74
+ assert_equal( 'button1' , $ie.div(:id , 'text_fields1').text_field(:index,1).value)
75
+
76
+ assert_equal( 3 , $ie.div(:id , 'text_fields1').text_fields.length )
77
+ $ie.div(:id, 'text_fields1').text_field(:name, 'div_text1').set("drink me")
78
+ assert_equal("drink me", $ie.div(:id, 'text_fields1').text_field(:name, 'div_text1').getContents)
79
+ end
80
+
81
+ #---- Span Tests ---
82
+ def test_spans
83
+ assert_raises(UnknownObjectException) {$ie.span(:id , "span77").click }
84
+ assert_raises(UnknownObjectException) {$ie.span(:title , "span77").click }
85
+
86
+ assert($ie.text_field(:name, "text2").verify_contains("0") )
87
+ $ie.span(:id , "span3").click
88
+ assert($ie.text_field(:name, "text2").verify_contains("1") )
146
89
 
147
- def test_p
148
- assert($ie.p(:id, 'number1').exists?)
149
- assert($ie.p(:index, 3).exists?)
150
- assert($ie.p(:title, 'test_3').exists?)
151
-
152
- assert_false($ie.p(:id, 'missing').exists?)
153
- assert_false($ie.p(:index, 8).exists?)
154
- assert_false($ie.p(:title, 'test_55').exists?)
155
-
156
- assert_raises( UnknownObjectException) {$ie.p(:id , 'missing').class_name }
157
- assert_raises( UnknownObjectException) {$ie.p(:id , 'missing').text }
158
- assert_raises( UnknownObjectException) {$ie.p(:id , 'missing').title }
159
- assert_raises( UnknownObjectException) {$ie.p(:id , 'missing').to_s }
160
- assert_raises( UnknownObjectException) {$ie.p(:id , 'missing').disabled }
161
-
162
- assert_equal( 'redText' , $ie.p(:index,1).class_name)
163
- assert_equal( 'P_tag_1' , $ie.p(:index,1).title)
164
- assert_equal( 'This text is in a p with an id of number2' , $ie.p(:index,2).text)
90
+ $ie.span(:id , "span4").click
91
+ assert($ie.text_field(:name, "text2").verify_contains("0") )
92
+
93
+ end
94
+
95
+ def test_span_properties
96
+ assert_raises(UnknownObjectException) {$ie.span(:id , "span77").text }
97
+ assert_raises(UnknownObjectException) {$ie.span(:title , "span77").text }
98
+
99
+ assert_equal("This span has an onClick that increments text2" , $ie.span(:id , "span3").text.strip )
100
+ assert_equal("This text is in a span with an id of span1 and title of test2" , $ie.span(:title , "Test2").text.strip )
101
+
102
+ assert_raises(UnknownObjectException) {$ie.span(:id , "span77").class_name }
103
+ assert_equal("blueText" , $ie.span(:id , "span2").class_name )
104
+ assert_equal("" , $ie.span(:id , "span1").class_name )
105
+
106
+ assert_raises(UnknownObjectException) {$ie.span(:index , 44).class_name }
107
+ assert_equal("span1" , $ie.span(:index , 1).id )
108
+ assert_equal("" , $ie.span(:index , 1).class_name )
109
+ assert_equal("blueText" , $ie.span(:index , 2).class_name )
110
+ assert_equal("" , $ie.span(:index , 2).value)
111
+ assert_equal(false , $ie.span(:index , 2).disabled)
112
+ assert_equal("" , $ie.span(:index , 2).name)
113
+ assert_equal("span2", $ie.span(:index , 2).id)
114
+ end
115
+
116
+ def test_span_iterator
117
+ assert_equal(7, $ie.spans.length)
118
+ assert_equal("span1", $ie.spans[1].id)
119
+
120
+ index = 1
121
+ $ie.spans.each do |s|
122
+ # puts "each - span = " + s.to_s
123
+ assert_equal($ie.span(:index, index ).name , s.name )
124
+ assert_equal($ie.span(:index, index ).id , s.id )
125
+ assert_equal($ie.span(:index, index ).class_name , s.class_name )
126
+ index += 1
165
127
  end
128
+ assert_equal(index - 1, $ie.spans.length) # -1 as we add 1 at the end of the loop
129
+ end
130
+
131
+ def test_objects_in_span
132
+ assert($ie.span(:id, 'buttons1').button(:index,1).exists? )
133
+ assert(!$ie.span(:id, 'buttons1').button(:index,3).exists? )
134
+ assert($ie.span(:id, 'buttons1').button(:name,'b1').exists? )
135
+
136
+ assert($ie.span(:id, 'buttons2').button(:index,1).exists? )
137
+ assert($ie.span(:id, 'buttons2').button(:index,2).exists? )
138
+ assert(!$ie.span(:id, 'buttons1').button(:index,3).exists? )
139
+
140
+ $ie.span(:id, 'buttons1').button(:index,1).click
141
+
142
+ assert_equal( 'button1' , $ie.span(:id , 'text_fields1').text_field(:index,1).value)
143
+
144
+ assert_equal( 3 , $ie.span(:id , 'text_fields1').text_fields.length )
145
+ end
146
+
147
+ def test_p
148
+ assert($ie.p(:id, 'number1').exists?)
149
+ assert($ie.p(:index, 3).exists?)
150
+ assert($ie.p(:title, 'test_3').exists?)
151
+
152
+ assert(!$ie.p(:id, 'missing').exists?)
153
+ assert(!$ie.p(:index, 8).exists?)
154
+ assert(!$ie.p(:title, 'test_55').exists?)
155
+
156
+ assert_raises( UnknownObjectException) {$ie.p(:id , 'missing').class_name }
157
+ assert_raises( UnknownObjectException) {$ie.p(:id , 'missing').text }
158
+ assert_raises( UnknownObjectException) {$ie.p(:id , 'missing').title }
159
+ assert_raises( UnknownObjectException) {$ie.p(:id , 'missing').to_s }
160
+ assert_raises( UnknownObjectException) {$ie.p(:id , 'missing').disabled }
161
+
162
+ assert_equal( 'redText' , $ie.p(:index,1).class_name)
163
+ assert_equal( 'P_tag_1' , $ie.p(:index,1).title)
164
+ assert_equal( 'This text is in a p with an id of number2' , $ie.p(:index,2).text)
165
+ end
166
+
167
+ def test_p_iterator
168
+ assert_equal( 3, $ie.ps.length)
169
+ assert_equal( 'italicText', $ie.ps[2].class_name)
170
+ assert_equal( 'number3', $ie.ps[3].id)
166
171
 
167
- def test_p_iterator
168
- assert_equal( 3, $ie.ps.length)
169
- assert_equal( 'italicText', $ie.ps[2].class_name)
170
- assert_equal( 'number3', $ie.ps[3].id)
171
-
172
- count=1
173
- $ie.ps.each do |p|
174
- assert_equal('number'+count.to_s , p.id)
175
- count+=1
176
- end
177
- assert_equal( count-1 , $ie.ps.length)
172
+ count=1
173
+ $ie.ps.each do |p|
174
+ assert_equal('number'+count.to_s , p.id)
175
+ count+=1
178
176
  end
177
+ assert_equal( count-1 , $ie.ps.length)
178
+ end
179
179
  end