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
@@ -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