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,279 @@
|
|
1
|
+
# feature tests for Forms
|
2
|
+
# revision: $Revision: 1.29 $
|
3
|
+
|
4
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
|
5
|
+
require 'unittests/setup'
|
6
|
+
|
7
|
+
class TC_Forms2 < Test::Unit::TestCase
|
8
|
+
def setup()
|
9
|
+
$ie.goto($htmlRoot + "forms2.html")
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_Form_Exists
|
13
|
+
assert($ie.form(:name, "test2").exists?)
|
14
|
+
assert_false($ie.form(:name, "missing").exists?)
|
15
|
+
|
16
|
+
assert($ie.form("test2").exists?)
|
17
|
+
assert_false($ie.form( "missing").exists?)
|
18
|
+
|
19
|
+
assert($ie.form(:index, 1).exists?)
|
20
|
+
assert_false($ie.form(:index, 88).exists?)
|
21
|
+
|
22
|
+
assert($ie.form(:method, "get").exists?)
|
23
|
+
assert_false($ie.form(:method, "missing").exists?)
|
24
|
+
|
25
|
+
assert($ie.form(:action, "pass.html").exists?)
|
26
|
+
assert_false($ie.form(:action, "missing").exists?)
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_ButtonInForm
|
30
|
+
assert($ie.form(:name ,"test2").button(:caption , "Submit").exists?)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
require 'unittests/iostring'
|
35
|
+
class TC_Form_Display < Test::Unit::TestCase
|
36
|
+
include MockStdoutTestCase
|
37
|
+
def test_showforms
|
38
|
+
$ie.goto($htmlRoot + "forms2.html")
|
39
|
+
$stdout = @mockout
|
40
|
+
$ie.showForms
|
41
|
+
assert_equal(<<END_OF_MESSAGE, @mockout)
|
42
|
+
There are 4 forms
|
43
|
+
Form name:
|
44
|
+
id:
|
45
|
+
method: get
|
46
|
+
action: pass.html
|
47
|
+
Form name: test2
|
48
|
+
id:
|
49
|
+
method: get
|
50
|
+
action: pass2.html
|
51
|
+
Form name: test3
|
52
|
+
id:
|
53
|
+
method: get
|
54
|
+
action: pass2.html
|
55
|
+
Form name: test2
|
56
|
+
id:
|
57
|
+
method: get
|
58
|
+
action: pass2.html
|
59
|
+
END_OF_MESSAGE
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
class TC_Forms3 < Test::Unit::TestCase
|
64
|
+
def setup()
|
65
|
+
$ie.goto($htmlRoot + "forms3.html")
|
66
|
+
end
|
67
|
+
|
68
|
+
def test_Form_Exists
|
69
|
+
assert($ie.form(:name, "test2").exists?)
|
70
|
+
assert_false($ie.form(:name, "missing").exists?)
|
71
|
+
|
72
|
+
assert($ie.form("test2").exists?)
|
73
|
+
assert_false($ie.form( "missing").exists?)
|
74
|
+
|
75
|
+
assert($ie.form(:index, 1).exists?)
|
76
|
+
assert_false($ie.form(:index, 88).exists?)
|
77
|
+
|
78
|
+
assert($ie.form(:method, "get").exists?)
|
79
|
+
assert_false($ie.form(:method, "missing").exists?)
|
80
|
+
|
81
|
+
assert($ie.form(:action, "pass.html").exists?)
|
82
|
+
assert_false($ie.form(:action, "missing").exists?)
|
83
|
+
end
|
84
|
+
|
85
|
+
def test_getObject_when_non_watir_object_before_it
|
86
|
+
# test for bug reported by Scott Pack, http://rubyforge.org/pipermail/wtr-general/2005-June/002223.html
|
87
|
+
assert_equal("check1" , $ie.checkbox(:index,1).name )
|
88
|
+
end
|
89
|
+
|
90
|
+
def test_showforms # add verification of output!
|
91
|
+
$ie.showForms
|
92
|
+
end
|
93
|
+
|
94
|
+
def test_reset
|
95
|
+
|
96
|
+
$ie.text_field(:id, "t1").set("Hello, reset test!")
|
97
|
+
assert_equal($ie.text_field(:id, 't1').getContents, 'Hello, reset test!')
|
98
|
+
|
99
|
+
$ie.button(:caption, "Reset").click
|
100
|
+
assert_equal("" , $ie.text_field(:id, 't1').getContents )
|
101
|
+
|
102
|
+
# also verify it works under a form
|
103
|
+
$ie.text_field(:id, "t1").set("reset test - using a form")
|
104
|
+
assert_equal($ie.text_field(:id, 't1').getContents, 'reset test - using a form')
|
105
|
+
|
106
|
+
$ie.form(:index,2).button(:index,2).click
|
107
|
+
assert_equal("" , $ie.text_field(:id, 't1').getContents )
|
108
|
+
|
109
|
+
# also verify it works under a form, this time using the :id attribute
|
110
|
+
$ie.text_field(:id, "t1").set("reset test - using a form")
|
111
|
+
assert_equal($ie.text_field(:id, 't1').getContents, 'reset test - using a form')
|
112
|
+
|
113
|
+
$ie.form(:index,2).button(:id,'reset_button').click
|
114
|
+
assert_equal("" , $ie.text_field(:id, 't1').getContents )
|
115
|
+
|
116
|
+
end
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
def test_flash1
|
121
|
+
$ie.form(:name ,"test2").button(:caption , "Submit").flash
|
122
|
+
end
|
123
|
+
|
124
|
+
def test_objects_with_same_name
|
125
|
+
assert_equal('textfield' ,$ie.text_field( :name , 'g1').value )
|
126
|
+
assert_equal('button' ,$ie.button( :name , 'g1').value )
|
127
|
+
assert_equal('1' ,$ie.checkbox( :name , 'g1').value )
|
128
|
+
assert_equal('2' ,$ie.radio( :name , 'g1').value )
|
129
|
+
|
130
|
+
assert_equal('textfield_id' ,$ie.text_field( :id , 'g1').value )
|
131
|
+
assert_equal('button_id' ,$ie.button( :id , 'g1').value )
|
132
|
+
assert_equal('1_id' ,$ie.checkbox( :id , 'g1').value )
|
133
|
+
assert_equal('2_id' ,$ie.radio( :id , 'g1').value )
|
134
|
+
end
|
135
|
+
|
136
|
+
def test_flash2
|
137
|
+
$ie.button(:value, 'Click Me').flash
|
138
|
+
assert_raises( Watir::UnknownObjectException ) { $ie.text_field( :name , 'g177').flash }
|
139
|
+
end
|
140
|
+
|
141
|
+
def test_showElements # add verification!
|
142
|
+
$ie.showAllObjects
|
143
|
+
end
|
144
|
+
|
145
|
+
def test_showText
|
146
|
+
puts $ie.getText
|
147
|
+
end
|
148
|
+
|
149
|
+
def test_showHTML
|
150
|
+
puts $ie.getHTML
|
151
|
+
end
|
152
|
+
|
153
|
+
def test_submitWithImage
|
154
|
+
assert( $ie.button(:alt , "submit").exists? )
|
155
|
+
assert( $ie.button(:alt , /sub/).exists? )
|
156
|
+
|
157
|
+
assert_false( $ie.button(:alt , "missing").exists? )
|
158
|
+
assert_false( $ie.button(:alt , /missing/).exists? )
|
159
|
+
|
160
|
+
#assert( $ie.button(:src , "file:///#{$myDir}/html/images/button.jpg").exists? ) # this doesnt work for everybody
|
161
|
+
assert( $ie.button(:src , /button/).exists? )
|
162
|
+
|
163
|
+
assert_false( $ie.button(:src , "missing").exists? )
|
164
|
+
assert_false( $ie.button(:src , /missing/).exists? )
|
165
|
+
assert_nothing_raised("raised an exception when it shouldnt have") { $ie.button(:src , /button/).click }
|
166
|
+
|
167
|
+
assert( $ie.contains_text("PASS") )
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
class TC_Forms4 < Test::Unit::TestCase
|
172
|
+
def setup()
|
173
|
+
$ie.goto($htmlRoot + "forms4.html")
|
174
|
+
end
|
175
|
+
|
176
|
+
def test_find_text_field_ignoring_form
|
177
|
+
assert_equal($ie.text_field(:name, 'name').getContents, 'apple') # should it raise a not-unique error instead?
|
178
|
+
end
|
179
|
+
|
180
|
+
def test_correct_form_field_is_found_using_form_name
|
181
|
+
assert_equal($ie.form(:name, 'apple_form').text_field(:name, 'name').getContents, 'apple')
|
182
|
+
assert_equal($ie.form(:name, 'banana_form').text_field(:name, 'name').getContents, 'banana')
|
183
|
+
end
|
184
|
+
|
185
|
+
def test_correct_form_field_is_found_using_form_index
|
186
|
+
assert_equal($ie.form(:index, 1).text_field(:name, 'name').getContents, 'apple')
|
187
|
+
assert_equal($ie.form(:index, 2).text_field(:name, 'name').getContents, 'banana')
|
188
|
+
end
|
189
|
+
|
190
|
+
def test_using_text_on_form
|
191
|
+
$ie.form(:name, 'apple_form').text_field(:name, 'name').set('strudel')
|
192
|
+
assert_equal($ie.form(:index, 1).text_field(:name, 'name').getContents, 'strudel')
|
193
|
+
end
|
194
|
+
|
195
|
+
def test_submit
|
196
|
+
$ie.form(:name, 'apple_form').submit
|
197
|
+
assert( $ie.contains_text("PASS") )
|
198
|
+
end
|
199
|
+
end
|
200
|
+
|
201
|
+
class TC_Hidden_Fields < Test::Unit::TestCase
|
202
|
+
def setup
|
203
|
+
$ie.goto($htmlRoot + "forms3.html")
|
204
|
+
end
|
205
|
+
|
206
|
+
def test_hidden
|
207
|
+
|
208
|
+
# test using index
|
209
|
+
assert( $ie.hidden(:index,1).exists? )
|
210
|
+
assert( $ie.hidden(:index,2).exists? )
|
211
|
+
assert_false( $ie.hidden(:index,3).exists? )
|
212
|
+
|
213
|
+
$ie.hidden(:index,1).value = 44
|
214
|
+
$ie.hidden(:index,2).value = 55
|
215
|
+
|
216
|
+
$ie.button(:value , "Show Hidden").click
|
217
|
+
|
218
|
+
assert_equal("44" , $ie.text_field(:name , "vis1").value )
|
219
|
+
assert_equal("55" , $ie.text_field(:name , "vis2").value )
|
220
|
+
|
221
|
+
# test using name and ID
|
222
|
+
assert( $ie.hidden(:name ,"hid1").exists? )
|
223
|
+
assert( $ie.hidden(:id,"hidden_1").exists? )
|
224
|
+
assert_false( $ie.hidden(:name,"hidden_44").exists? )
|
225
|
+
assert_false( $ie.hidden(:id,"hidden_55").exists? )
|
226
|
+
|
227
|
+
$ie.hidden(:name ,"hid1").value = 444
|
228
|
+
$ie.hidden(:id,"hidden_1").value = 555
|
229
|
+
|
230
|
+
$ie.button(:value , "Show Hidden").click
|
231
|
+
|
232
|
+
assert_equal("444" , $ie.text_field(:name , "vis1").value )
|
233
|
+
assert_equal("555" , $ie.text_field(:name ,"vis2").value )
|
234
|
+
|
235
|
+
# test the over-ridden append method
|
236
|
+
$ie.hidden(:name ,"hid1").append("a")
|
237
|
+
$ie.button(:value , "Show Hidden").click
|
238
|
+
assert_equal("444a" , $ie.text_field(:name , "vis1").value )
|
239
|
+
assert_equal("555" , $ie.text_field(:name ,"vis2").value )
|
240
|
+
|
241
|
+
# test the over-ridden clear method
|
242
|
+
$ie.hidden(:name ,"hid1").clear
|
243
|
+
$ie.button(:value , "Show Hidden").click
|
244
|
+
assert_equal("" , $ie.text_field(:name , "vis1").value )
|
245
|
+
assert_equal("555" , $ie.text_field(:name ,"vis2").value )
|
246
|
+
|
247
|
+
# test using a form
|
248
|
+
assert( $ie.form(:name , "has_a_hidden").hidden(:name ,"hid1").exists? )
|
249
|
+
assert( $ie.form(:name , "has_a_hidden").hidden(:id,"hidden_1").exists? )
|
250
|
+
assert_false( $ie.form(:name , "has_a_hidden").hidden(:name,"hidden_44").exists? )
|
251
|
+
assert_false( $ie.form(:name , "has_a_hidden").hidden(:id,"hidden_55").exists? )
|
252
|
+
|
253
|
+
$ie.form(:name , "has_a_hidden").hidden(:name ,"hid1").value = 222
|
254
|
+
$ie.form(:name , "has_a_hidden").hidden(:id,"hidden_1").value = 333
|
255
|
+
|
256
|
+
$ie.button(:value , "Show Hidden").click
|
257
|
+
|
258
|
+
assert_equal("222" , $ie.text_field(:name , "vis1").value )
|
259
|
+
assert_equal("333" , $ie.text_field(:name ,"vis2").value )
|
260
|
+
|
261
|
+
# iterators
|
262
|
+
assert_equal(2, $ie.hiddens.length)
|
263
|
+
count =1
|
264
|
+
$ie.hiddens.each do |h|
|
265
|
+
case count
|
266
|
+
when 1
|
267
|
+
assert_equal( "", h.id)
|
268
|
+
assert_equal( "hid1", h.name)
|
269
|
+
when 2
|
270
|
+
assert_equal( "", h.name)
|
271
|
+
assert_equal( "hidden_1", h.id)
|
272
|
+
end
|
273
|
+
count+=1
|
274
|
+
end
|
275
|
+
|
276
|
+
assert_equal("hid1" , $ie.hiddens[1].name )
|
277
|
+
assert_equal("hidden_1" , $ie.hiddens[2].id )
|
278
|
+
end
|
279
|
+
end
|
@@ -0,0 +1,141 @@
|
|
1
|
+
# feature tests for Frames
|
2
|
+
# revision: $Revision: 1.22.2.1 $
|
3
|
+
|
4
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
|
5
|
+
require 'unittests/setup'
|
6
|
+
|
7
|
+
class TC_Frames < Test::Unit::TestCase
|
8
|
+
include Watir
|
9
|
+
|
10
|
+
def setup()
|
11
|
+
$ie.goto($htmlRoot + "frame_buttons.html")
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_frame_no_what
|
15
|
+
assert_raises(UnknownFrameException) { $ie.frame("missingFrame").button(:id, "b2").enabled? }
|
16
|
+
assert_raises(UnknownObjectException) { $ie.frame("buttonFrame2").button(:id, "b2").enabled? }
|
17
|
+
assert($ie.frame("buttonFrame").button(:id, "b2").enabled?)
|
18
|
+
assert_false($ie.frame("buttonFrame").button(:caption, "Disabled Button").enabled?)
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_frame_using_name
|
22
|
+
assert_raises(UnknownFrameException) { $ie.frame(:name , "missingFrame").button(:id, "b2").enabled? }
|
23
|
+
assert_raises(UnknownObjectException) { $ie.frame(:name, "buttonFrame2").button(:id, "b2").enabled? }
|
24
|
+
assert($ie.frame(:name, "buttonFrame").button(:id, "b2").enabled?)
|
25
|
+
assert_false($ie.frame(:name , "buttonFrame").button(:caption, "Disabled Button").enabled?)
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_frame_using_name_and_regexp
|
29
|
+
assert_raises(UnknownFrameException) { $ie.frame(:name , /missingFrame/).button(:id, "b2").enabled? }
|
30
|
+
assert($ie.frame(:name, /button/).button(:id, "b2").enabled?)
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_frame_using_index
|
34
|
+
assert_raises(UnknownFrameException) { $ie.frame(:index, 8).button(:id, "b2").enabled? }
|
35
|
+
assert_raises(UnknownObjectException) { $ie.frame(:index, 2).button(:id, "b2").enabled? }
|
36
|
+
assert($ie.frame(:index, 1 ).button(:id, "b2").enabled?)
|
37
|
+
assert_false($ie.frame(:index, 1).button(:caption, "Disabled Button").enabled?)
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_frame_with_invalid_attribute
|
41
|
+
assert_raises(ArgumentError) { $ie.frame(:blah, 'no_such_thing').button(:id, "b2").enabled? }
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_preset_frame
|
45
|
+
# with ruby's instance_eval, we are able to use the same frame for several actions
|
46
|
+
results = $ie.frame("buttonFrame").instance_eval do [
|
47
|
+
button(:id, "b2").enabled?,
|
48
|
+
button(:caption, "Disabled Button").enabled?
|
49
|
+
]
|
50
|
+
end
|
51
|
+
assert_equal([true, false], results)
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
|
56
|
+
class TC_Frames2 < Test::Unit::TestCase
|
57
|
+
include Watir
|
58
|
+
|
59
|
+
def setup()
|
60
|
+
$ie.goto($htmlRoot + "frame_multi.html")
|
61
|
+
end
|
62
|
+
|
63
|
+
def test_frame_with_no_name
|
64
|
+
assert_raises(UnknownFrameException) { $ie.frame(:name , "missingFrame").button(:id, "b2").enabled? }
|
65
|
+
end
|
66
|
+
|
67
|
+
def test_frame_by_id
|
68
|
+
assert_raises(UnknownFrameException) { $ie.frame(:id , "missingFrame").button(:id, "b2").enabled? }
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
class TC_NestedFrames < Test::Unit::TestCase
|
73
|
+
include Watir
|
74
|
+
|
75
|
+
def setup()
|
76
|
+
$ie.goto($htmlRoot + "nestedFrames.html")
|
77
|
+
end
|
78
|
+
|
79
|
+
def test_frame
|
80
|
+
assert_raises(UnknownFrameException) { $ie.frame("missingFrame").button(:id, "b2").enabled? }
|
81
|
+
assert_raises(UnknownFrameException) { $ie.frame("nestedFrame").frame("subFrame").button(:id, "b2").enabled? }
|
82
|
+
assert($ie.frame("nestedFrame").frame("senderFrame").button(:name, "sendIt").enabled?)
|
83
|
+
$ie.frame("nestedFrame").frame("senderFrame").text_field(:index, "1").set("Hello")
|
84
|
+
$ie.frame("nestedFrame").frame("senderFrame").button(:name, "sendIt").click()
|
85
|
+
assert($ie.frame("nestedFrame").frame("receiverFrame").text_field(:name, "receiverText").verify_contains("Hello"))
|
86
|
+
end
|
87
|
+
|
88
|
+
end
|
89
|
+
|
90
|
+
class TC_IFrames < Test::Unit::TestCase
|
91
|
+
include Watir
|
92
|
+
|
93
|
+
def setup()
|
94
|
+
$ie.goto($htmlRoot + "iframeTest.html")
|
95
|
+
end
|
96
|
+
|
97
|
+
def test_Iframe
|
98
|
+
$ie.frame("senderFrame").text_field(:name , "textToSend").set( "Hello World")
|
99
|
+
$ie.frame("senderFrame").button(:index, 1).click
|
100
|
+
assert( $ie.frame("receiverFrame").text_field(:name , "receiverText").verify_contains("Hello World") )
|
101
|
+
end
|
102
|
+
|
103
|
+
end
|
104
|
+
|
105
|
+
require 'unittests/iostring'
|
106
|
+
class TC_show_frames < Test::Unit::TestCase
|
107
|
+
include MockStdoutTestCase
|
108
|
+
|
109
|
+
def capture_and_compare(page, expected)
|
110
|
+
$ie.goto($htmlRoot + page)
|
111
|
+
$stdout = @mockout
|
112
|
+
$ie.showFrames
|
113
|
+
assert_equal(expected, @mockout)
|
114
|
+
end
|
115
|
+
|
116
|
+
def test_show_nested_frames
|
117
|
+
capture_and_compare("nestedFrames.html", <<END_OF_MESSAGE)
|
118
|
+
there are 2 frames
|
119
|
+
frame index: 1 name: nestedFrame
|
120
|
+
frame index: 2 name: nestedFrame2
|
121
|
+
END_OF_MESSAGE
|
122
|
+
end
|
123
|
+
|
124
|
+
def test_button_frames
|
125
|
+
capture_and_compare("frame_buttons.html", <<END_OF_MESSAGE)
|
126
|
+
there are 2 frames
|
127
|
+
frame index: 1 name: buttonFrame
|
128
|
+
frame index: 2 name: buttonFrame2
|
129
|
+
END_OF_MESSAGE
|
130
|
+
end
|
131
|
+
|
132
|
+
def test_iframes
|
133
|
+
capture_and_compare("iframeTest.html", <<END_OF_MESSAGE)
|
134
|
+
there are 2 frames
|
135
|
+
frame index: 1 name: senderFrame
|
136
|
+
frame index: 2 name: receiverFrame
|
137
|
+
END_OF_MESSAGE
|
138
|
+
end
|
139
|
+
|
140
|
+
end
|
141
|
+
|
@@ -0,0 +1,40 @@
|
|
1
|
+
<html>
|
2
|
+
<head>
|
3
|
+
<title>
|
4
|
+
Test page for buttons
|
5
|
+
</title>
|
6
|
+
</head>
|
7
|
+
<body>
|
8
|
+
CVS Revision: $Revision $
|
9
|
+
<br>
|
10
|
+
<br>
|
11
|
+
<table>
|
12
|
+
<tr>
|
13
|
+
<td>
|
14
|
+
<form name = test1 method = get action = pass.html>
|
15
|
+
|
16
|
+
<input type = button name = b1 id = b2 value = "Click Me" onClick="javascript:document.location='pass.html';" title = "this is button1">
|
17
|
+
<br><input type = button name = b4 id=b5 value = "Disabled Button" onClick="javascript:document.location='fail.html';" disabled>
|
18
|
+
|
19
|
+
</form>
|
20
|
+
<td> The top button is for testing buttons with names
|
21
|
+
<br> The second button is used for testing disabled buttons
|
22
|
+
|
23
|
+
|
24
|
+
<tr>
|
25
|
+
<td>
|
26
|
+
<form name = test2 method = get action = pass2.html>
|
27
|
+
<br><input type = submit value=Submit>
|
28
|
+
</form>
|
29
|
+
<td> This button is a submit ( the others are buttons)
|
30
|
+
|
31
|
+
<tr>
|
32
|
+
<td>
|
33
|
+
<form name = test3 method = get action = pass3.html>
|
34
|
+
<br><input type = image src=images/button.jpg name =sub3>
|
35
|
+
</form>
|
36
|
+
<td> This button is an image. It should behave the same as a submit
|
37
|
+
|
38
|
+
|
39
|
+
|
40
|
+
</html>
|