watir 1.4.1
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.
- data/readme.rb +211 -0
- data/unittests/WindowLogonExample.rb +30 -0
- data/unittests/WindowLogonExtra.rb +7 -0
- data/unittests/all_tests.rb +10 -0
- data/unittests/all_tests_concurrent.rb +57 -0
- data/unittests/attachToExistingWindow_test.rb +40 -0
- data/unittests/buttons_test.rb +131 -0
- data/unittests/checkbox_test.rb +149 -0
- data/unittests/core_tests.rb +9 -0
- data/unittests/css_test.rb +60 -0
- data/unittests/div_test.rb +179 -0
- data/unittests/errorchecker_test.rb +29 -0
- data/unittests/filefield_test.rb +35 -0
- data/unittests/form_test.rb +279 -0
- data/unittests/frame_test.rb +141 -0
- data/unittests/html/blankpage.html +12 -0
- data/unittests/html/buttons1.html +40 -0
- data/unittests/html/checkboxes1.html +69 -0
- data/unittests/html/complex_table.html +36 -0
- data/unittests/html/cssTest.html +42 -0
- data/unittests/html/div.html +105 -0
- data/unittests/html/fileupload.html +45 -0
- data/unittests/html/formTest1.html +39 -0
- data/unittests/html/forms2.html +45 -0
- data/unittests/html/forms3.html +132 -0
- data/unittests/html/forms4.html +27 -0
- data/unittests/html/frame_buttons.html +4 -0
- data/unittests/html/frame_links.html +4 -0
- data/unittests/html/frame_multi.html +5 -0
- data/unittests/html/iframeTest.html +13 -0
- data/unittests/html/iframeTest1.html +7 -0
- data/unittests/html/iframeTest2.html +6 -0
- data/unittests/html/images/1.gif +0 -0
- data/unittests/html/images/2.GIF +0 -0
- data/unittests/html/images/3.GIF +0 -0
- data/unittests/html/images/button.jpg +0 -0
- data/unittests/html/images/circle.jpg +0 -0
- data/unittests/html/images/minus.GIF +0 -0
- data/unittests/html/images/originaltriangle.jpg +0 -0
- data/unittests/html/images/plus.gif +0 -0
- data/unittests/html/images/square.jpg +0 -0
- data/unittests/html/images/triangle.jpg +0 -0
- data/unittests/html/images1.html +52 -0
- data/unittests/html/javascriptevents.html +39 -0
- data/unittests/html/link_pass.html +11 -0
- data/unittests/html/links1.html +37 -0
- data/unittests/html/links2.html +11 -0
- data/unittests/html/nestedFrames.html +6 -0
- data/unittests/html/pass.html +10 -0
- data/unittests/html/popups1.html +60 -0
- data/unittests/html/radioButtons1.html +71 -0
- data/unittests/html/select_tealeaf.html +54 -0
- data/unittests/html/selectboxes1.html +55 -0
- data/unittests/html/simple_table.html +26 -0
- data/unittests/html/simple_table_buttons.html +104 -0
- data/unittests/html/simple_table_columns.html +76 -0
- data/unittests/html/table1.html +142 -0
- data/unittests/html/textarea.html +30 -0
- data/unittests/html/textfields1.html +87 -0
- data/unittests/html/textsearch.html +44 -0
- data/unittests/ie_mock.rb +93 -0
- data/unittests/ie_test.rb +50 -0
- data/unittests/images_test.rb +179 -0
- data/unittests/iostring.rb +30 -0
- data/unittests/iostring_test.rb +48 -0
- data/unittests/js_events_test.rb +77 -0
- data/unittests/jscriptExtraAlert.rb +6 -0
- data/unittests/jscriptExtraConfirmCancel.rb +7 -0
- data/unittests/jscriptExtraConfirmOk.rb +7 -0
- data/unittests/jscriptPushButton.rb +5 -0
- data/unittests/jscript_test.rb +57 -0
- data/unittests/links_test.rb +169 -0
- data/unittests/minmax_test.rb +31 -0
- data/unittests/navigate_test.rb +56 -0
- data/unittests/non_core_tests.rb +9 -0
- data/unittests/pagecontainstext_test.rb +49 -0
- data/unittests/popups_test.rb +44 -0
- data/unittests/radios_test.rb +164 -0
- data/unittests/screen_capture_test.rb +53 -0
- data/unittests/selectbox_test.rb +197 -0
- data/unittests/send_keys_test.rb +29 -0
- data/unittests/setup.rb +47 -0
- data/unittests/table_test.rb +306 -0
- data/unittests/textAreafields_test.rb +81 -0
- data/unittests/textfields_test.rb +239 -0
- data/watir.rb +3744 -0
- data/watir/AutoItX3.dll +0 -0
- data/watir/WindowHelper.rb +47 -0
- data/watir/camel_case.rb +37 -0
- data/watir/clickJSDialog.rb +19 -0
- data/watir/cookiemanager.rb +53 -0
- data/watir/exceptions.rb +60 -0
- data/watir/screen_capture.rb +115 -0
- data/watir/setFileDialog.rb +16 -0
- data/watir/testUnitAddons.rb +47 -0
- data/watir/watir_simple.rb +475 -0
- data/watir/winClicker.rb +505 -0
- metadata +152 -0
@@ -0,0 +1,149 @@
|
|
1
|
+
# feature tests for Check Boxes
|
2
|
+
# revision: $Revision: 1.30 $
|
3
|
+
|
4
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
|
5
|
+
require 'unittests/setup'
|
6
|
+
|
7
|
+
class TC_CheckBox < Test::Unit::TestCase
|
8
|
+
include Watir
|
9
|
+
|
10
|
+
def setup()
|
11
|
+
$ie.goto($htmlRoot + "checkboxes1.html")
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_checkbox_properties
|
15
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.checkbox(:name, "noName").id }
|
16
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.checkbox(:name, "noName").name }
|
17
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.checkbox(:name, "noName").disabled }
|
18
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.checkbox(:name, "noName").type }
|
19
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.checkbox(:name, "noName").value }
|
20
|
+
|
21
|
+
assert_equal("box1" , $ie.checkbox(:index, 1).name )
|
22
|
+
assert_equal("" , $ie.checkbox(:index, 1).id )
|
23
|
+
assert_equal("checkbox" , $ie.checkbox(:index, 1).type )
|
24
|
+
assert_equal("on" , $ie.checkbox(:index, 1).value )
|
25
|
+
assert_equal(false , $ie.checkbox(:index, 1).disabled )
|
26
|
+
|
27
|
+
assert_equal("1" , $ie.checkbox(:name,"box4").value )
|
28
|
+
assert_equal("3" , $ie.checkbox(:name,"box4" , 3).value )
|
29
|
+
assert_equal("checkbox" , $ie.checkbox(:name,"box4" , 3).type )
|
30
|
+
assert_equal(false , $ie.checkbox(:name,"box4" , 3).disabled )
|
31
|
+
assert_equal("" , $ie.checkbox(:name,"box4" , 3).id )
|
32
|
+
|
33
|
+
assert_equal("box4-value5" , $ie.checkbox(:name,"box4" , 5).title)
|
34
|
+
assert_equal("" , $ie.checkbox(:name,"box4" , 4).title)
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_onClick
|
38
|
+
assert_false($ie.button(:value , "foo").enabled?)
|
39
|
+
$ie.checkBox(:name, "box5").set
|
40
|
+
assert($ie.button(:value , "foo").enabled?)
|
41
|
+
|
42
|
+
$ie.checkBox(:name, "box5").clear
|
43
|
+
assert_false($ie.button(:value , "foo").enabled?)
|
44
|
+
|
45
|
+
$ie.checkBox(:name, "box5").clear
|
46
|
+
assert_false($ie.button(:value , "foo").enabled?)
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_CheckBox_Exists
|
50
|
+
assert($ie.checkBox(:name, "box1").exists?)
|
51
|
+
assert_false($ie.checkBox(:name, "missing").exists?)
|
52
|
+
|
53
|
+
assert($ie.checkbox(:name, "box4" , 1).exists?)
|
54
|
+
assert_false($ie.checkbox(:name, "box4" , 22).exists?)
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_checkbox_Enabled
|
58
|
+
assert_raises(UnknownObjectException) { $ie.checkbox(:name, "noName").enabled? }
|
59
|
+
assert_raises(UnknownObjectException) { $ie.checkbox(:id, "noName").enabled? }
|
60
|
+
assert_raises(UnknownObjectException) { $ie.checkbox(:name, "box4" , 6).enabled? }
|
61
|
+
|
62
|
+
assert($ie.checkbox(:name, "box1").enabled?)
|
63
|
+
assert_false($ie.checkbox(:name, "box2").enabled?)
|
64
|
+
|
65
|
+
assert($ie.checkbox(:name, "box4", 4).enabled?)
|
66
|
+
assert_false($ie.checkbox(:name, "box4" , 5 ).enabled?)
|
67
|
+
end
|
68
|
+
|
69
|
+
def test_checkbox_isSet
|
70
|
+
assert_raises(UnknownObjectException ) { $ie.checkbox(:name, "noName").isSet? }
|
71
|
+
|
72
|
+
assert_false($ie.checkbox(:name, "box1").isSet?)
|
73
|
+
assert_false($ie.checkbox(:name, "box2").isSet?)
|
74
|
+
assert($ie.checkbox(:name, "box3").isSet?)
|
75
|
+
|
76
|
+
assert_false($ie.checkbox(:name, "box4" , 2 ).isSet?)
|
77
|
+
assert($ie.checkbox(:name, "box4" , 1 ).isSet?)
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_checkbox_clear
|
81
|
+
assert_raises(UnknownObjectException) { $ie.checkbox(:name, "noName").clear }
|
82
|
+
$ie.checkbox(:name, "box1").clear
|
83
|
+
assert_false($ie.checkbox(:name, "box1").isSet?)
|
84
|
+
|
85
|
+
assert_raises(ObjectDisabledException) { $ie.checkbox(:name, "box2").clear }
|
86
|
+
assert_false($ie.checkbox(:name, "box2").isSet?)
|
87
|
+
|
88
|
+
$ie.checkbox(:name, "box3").clear
|
89
|
+
assert_false($ie.checkbox(:name, "box3").isSet?)
|
90
|
+
|
91
|
+
$ie.checkbox(:name, "box4" , 1).clear
|
92
|
+
assert_false($ie.checkbox(:name, "box4" , 1).isSet?)
|
93
|
+
end
|
94
|
+
|
95
|
+
def test_checkbox_getState
|
96
|
+
assert_raises(UnknownObjectException) { $ie.checkbox(:name, "noName").getState }
|
97
|
+
assert_equal( false , $ie.checkbox(:name, "box1").getState )
|
98
|
+
assert_equal( true , $ie.checkbox(:name, "box3").getState)
|
99
|
+
|
100
|
+
# checkboxes that have the same name but different values
|
101
|
+
assert_equal( false , $ie.checkbox(:name, "box4" , 2).getState )
|
102
|
+
assert_equal( true , $ie.checkbox(:name, "box4" , 1).getState)
|
103
|
+
end
|
104
|
+
|
105
|
+
def test_checkbox_set
|
106
|
+
assert_raises(UnknownObjectException) { $ie.checkbox(:name, "noName").set }
|
107
|
+
$ie.checkbox(:name, "box1").set
|
108
|
+
assert($ie.checkbox(:name, "box1").isSet?)
|
109
|
+
|
110
|
+
assert_raises(ObjectDisabledException) { $ie.checkbox(:name, "box2").set }
|
111
|
+
|
112
|
+
$ie.checkbox(:name, "box3").set
|
113
|
+
assert($ie.checkbox(:name, "box3").isSet?)
|
114
|
+
|
115
|
+
# checkboxes that have the same name but different values
|
116
|
+
$ie.checkbox(:name, "box4" , 3).set
|
117
|
+
assert($ie.checkbox(:name, "box4" , 3).isSet?)
|
118
|
+
|
119
|
+
# test set using the optinal true/false
|
120
|
+
# assumes the checkbox is already checked
|
121
|
+
$ie.checkbox(:name, "box1").set( false )
|
122
|
+
assert_false($ie.checkbox(:name, "box1").isSet?)
|
123
|
+
|
124
|
+
$ie.checkbox(:name, "box1").set( true )
|
125
|
+
assert($ie.checkbox(:name, "box1").isSet?)
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
end
|
131
|
+
|
132
|
+
def test_checkbox_iterator
|
133
|
+
|
134
|
+
assert_equal(11, $ie.checkboxes.length)
|
135
|
+
assert_equal("box1" , $ie.checkboxes[1].name )
|
136
|
+
|
137
|
+
index=1
|
138
|
+
$ie.checkboxes.each do |c|
|
139
|
+
assert_equal( $ie.checkbox(:index, index).name , c.name )
|
140
|
+
assert_equal( $ie.checkbox(:index, index).id, c.id )
|
141
|
+
assert_equal( $ie.checkbox(:index, index).value, c.value )
|
142
|
+
index+=1
|
143
|
+
end
|
144
|
+
assert_equal(index-1, $ie.checkboxes.length)
|
145
|
+
|
146
|
+
end
|
147
|
+
|
148
|
+
|
149
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
# feature tests for css
|
2
|
+
# revision: $Revision: 1.14.4.1 $
|
3
|
+
|
4
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
|
5
|
+
require 'unittests/setup'
|
6
|
+
|
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")
|
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_false(isMessageDisplayed("Success") )
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
@@ -0,0 +1,179 @@
|
|
1
|
+
# feature tests for Divs, Spans and P's
|
2
|
+
# revision: $Revision: 1.15 $
|
3
|
+
|
4
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
|
5
|
+
require 'unittests/setup'
|
6
|
+
|
7
|
+
class TC_Divs < Test::Unit::TestCase
|
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 }
|
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
|
24
|
+
|
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
|
48
|
+
|
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
|
63
|
+
|
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 )
|
78
|
+
end
|
79
|
+
|
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
|
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
|
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_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
|
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_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)
|
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)
|
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)
|
178
|
+
end
|
179
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# feature tests for Goto
|
2
|
+
# revision: $Revision: 1.2 $
|
3
|
+
|
4
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
|
5
|
+
require 'unittests/setup'
|
6
|
+
|
7
|
+
class TC_error_checker< Test::Unit::TestCase
|
8
|
+
include Watir
|
9
|
+
|
10
|
+
def goto_page(page)
|
11
|
+
$ie.goto($htmlRoot + page)
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_simple_checker
|
15
|
+
button_checker = Proc.new{
|
16
|
+
|ie| raise RuntimeError, "text 'buttons' was missing" if !ie.pageContainsText(/buttons/)
|
17
|
+
}
|
18
|
+
|
19
|
+
$ie.add_checker(button_checker )
|
20
|
+
assert_raises( RuntimeError ) { goto_page('forms3.html') }
|
21
|
+
assert_nothing_raised { goto_page('buttons1.html') }
|
22
|
+
|
23
|
+
$ie.disable_checker( button_checker )
|
24
|
+
assert_nothing_raised { goto_page('forms3.html') }
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# feature tests for TextArea Fields
|
2
|
+
# revision: $Revision: 1.3 $
|
3
|
+
|
4
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
|
5
|
+
require 'unittests/setup'
|
6
|
+
|
7
|
+
class TC_FileField < Test::Unit::TestCase
|
8
|
+
include Watir
|
9
|
+
|
10
|
+
def gotoPage()
|
11
|
+
$ie.goto($htmlRoot + "fileupload.html")
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_fileField_Exists
|
15
|
+
gotoPage()
|
16
|
+
#test for existance of 4 file area
|
17
|
+
assert($ie.fileField(:name,"file1").exists?)
|
18
|
+
assert($ie.fileField(:id,"file2").exists?)
|
19
|
+
#test for missing
|
20
|
+
assert_false($ie.fileField(:name, "missing").exists?)
|
21
|
+
assert_false($ie.fileField(:name,"totallybogus").exists?)
|
22
|
+
#pop one open and put something in it.
|
23
|
+
$ie.fileField(:name,"file1").set($htmlRoot + "fileupload.html")
|
24
|
+
#click the upload button
|
25
|
+
$ie.button(:name,"upload").click
|
26
|
+
|
27
|
+
assert($ie.contains_text("PASS"))
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_iterator
|
31
|
+
gotoPage()
|
32
|
+
assert_equal(6, $ie.file_fields.length)
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|