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,77 @@
|
|
1
|
+
# feature tests for JavaScript events
|
2
|
+
# revision: $Revision: 1.13 $
|
3
|
+
|
4
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
|
5
|
+
require 'unittests/setup'
|
6
|
+
|
7
|
+
class TC_JSEvents < Test::Unit::TestCase
|
8
|
+
include Watir
|
9
|
+
|
10
|
+
|
11
|
+
def gotoJavaScriptEventsPage()
|
12
|
+
$ie.goto($htmlRoot + "javascriptevents.html")
|
13
|
+
end
|
14
|
+
|
15
|
+
|
16
|
+
def test_Button_disabled
|
17
|
+
gotoJavaScriptEventsPage()
|
18
|
+
assert_false($ie.button(:caption, "Button 1").enabled?)
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_Button_Enabled
|
22
|
+
gotoJavaScriptEventsPage()
|
23
|
+
|
24
|
+
$ie.text_field(:name, "entertext").fire_event("onkeyup")
|
25
|
+
assert($ie.button(:caption, "Button 1").enabled?)
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_Button_click
|
30
|
+
|
31
|
+
gotoJavaScriptEventsPage()
|
32
|
+
|
33
|
+
puts "Firing event to make button enabled"
|
34
|
+
$ie.text_field(:name, "entertext").fire_event("onKeyUp")
|
35
|
+
puts "Clicking the button"
|
36
|
+
|
37
|
+
$ie.button(:caption, "Button 1").click
|
38
|
+
assert($ie.contains_text("PASS") )
|
39
|
+
end
|
40
|
+
|
41
|
+
#onMouseOver tests
|
42
|
+
#window status
|
43
|
+
|
44
|
+
def test_no_status_bar_exception
|
45
|
+
gotoJavaScriptEventsPage()
|
46
|
+
$ie.link(:text, "New Window No Status Bar").click
|
47
|
+
status_bar_test_win = nil
|
48
|
+
assert_nothing_raised { status_bar_test_win = Watir::IE.attach(:title, "Pass Page") }
|
49
|
+
assert_raises( Watir::NoStatusBarException ) { status_bar_test_win.status }
|
50
|
+
status_bar_test_win.close
|
51
|
+
status_bar_test_win = nil
|
52
|
+
|
53
|
+
end
|
54
|
+
|
55
|
+
|
56
|
+
def test_page_nostatus
|
57
|
+
gotoJavaScriptEventsPage()
|
58
|
+
assert_false($ie.status == "Here is your status")
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_page_status
|
62
|
+
gotoJavaScriptEventsPage()
|
63
|
+
$ie.link(:text, "Check the Status").fire_event("onMouseOver")
|
64
|
+
assert($ie.status, "It worked")
|
65
|
+
end
|
66
|
+
|
67
|
+
def test_page_status
|
68
|
+
gotoJavaScriptEventsPage()
|
69
|
+
$ie.link(:text, "Clear the Status").fire_event("onMouseOver")
|
70
|
+
assert($ie.status, "")
|
71
|
+
end
|
72
|
+
#end of window status
|
73
|
+
|
74
|
+
#end of onMouseOver tests
|
75
|
+
|
76
|
+
end
|
77
|
+
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# feature tests for AutoIt wrapper
|
2
|
+
# revision: $Revision: 1.8 $
|
3
|
+
|
4
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
|
5
|
+
require 'unittests/setup'
|
6
|
+
require 'watir/WindowHelper'
|
7
|
+
|
8
|
+
$mydir = File.expand_path(File.dirname(__FILE__)).gsub('/', '\\')
|
9
|
+
|
10
|
+
class TC_JavaScript_Test < Test::Unit::TestCase
|
11
|
+
include Watir
|
12
|
+
@@attach = true
|
13
|
+
@@javascript_page_title = 'Alert Test'
|
14
|
+
@@javascript_page = $htmlRoot + 'JavascriptClick.htm'
|
15
|
+
|
16
|
+
def setup
|
17
|
+
begin
|
18
|
+
WindowHelper.check_autoit_installed
|
19
|
+
rescue Watir::Exception::WatirException
|
20
|
+
puts "Problem with Autoit - is it installed?."
|
21
|
+
exit
|
22
|
+
rescue
|
23
|
+
puts "There is a Problem with Autoit - is it installed?."
|
24
|
+
exit
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def goto_javascript_page()
|
29
|
+
$ie.goto(@@javascript_page)
|
30
|
+
end
|
31
|
+
|
32
|
+
def check_dialog(extra_file, expected_result, &block)
|
33
|
+
goto_javascript_page()
|
34
|
+
Thread.new { system("rubyw \"#{$mydir}\\#{extra_file}.rb\"") }
|
35
|
+
|
36
|
+
block.call
|
37
|
+
testResult = $ie.text_field(:id, "testResult").value
|
38
|
+
assert_match( expected_result, testResult )
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_alert_button()
|
42
|
+
check_dialog('jscriptExtraAlert', /Alert OK/){ $ie.button(:id, 'btnAlert').click }
|
43
|
+
end
|
44
|
+
def test_alert_button2()
|
45
|
+
check_dialog('jscriptPushButton', /Alert OK/){ sleep 0.1; WindowHelper.new.push_alert_button }
|
46
|
+
end
|
47
|
+
def test_confirm_button_ok()
|
48
|
+
check_dialog('jscriptExtraConfirmOk', /Confirm OK/){ push_confirm_button }
|
49
|
+
end
|
50
|
+
def test_confirm_button_Cancel()
|
51
|
+
check_dialog('jscriptExtraConfirmCancel', /Confirm Cancel/){push_confirm_button}
|
52
|
+
end
|
53
|
+
|
54
|
+
def push_confirm_button
|
55
|
+
$ie.button(:id, 'btnInformation').click
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,169 @@
|
|
1
|
+
# feature tests for Links
|
2
|
+
# revision: $Revision: 1.33 $
|
3
|
+
|
4
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
|
5
|
+
require 'unittests/setup'
|
6
|
+
|
7
|
+
class TC_Links < Test::Unit::TestCase
|
8
|
+
include Watir
|
9
|
+
|
10
|
+
def gotoLinksPage()
|
11
|
+
$ie.goto($htmlRoot + "links1.html")
|
12
|
+
end
|
13
|
+
|
14
|
+
def gotoFrameLinksPage()
|
15
|
+
$ie.goto($htmlRoot + "frame_links.html")
|
16
|
+
end
|
17
|
+
|
18
|
+
def setup()
|
19
|
+
gotoLinksPage()
|
20
|
+
end
|
21
|
+
|
22
|
+
def xtest_new_link_exists
|
23
|
+
assert(exists?{$ie.link(:text, "test1")})
|
24
|
+
assert(exists?{$ie.link(:text, /TEST/i)})
|
25
|
+
assert_false(exists?{$ie.link(:text, "missing")})
|
26
|
+
assert_false(exists?{$ie.link(:text, /miss/)})
|
27
|
+
|
28
|
+
gotoFrameLinksPage()
|
29
|
+
assert(exists?{$ie.frame("buttonFrame").link(:text, "test1")})
|
30
|
+
assert_false(exists?{$ie.frame("buttonFrame").link(:text, "missing")})
|
31
|
+
|
32
|
+
assert_false(exists?{ie.frame("missing").link(:text, "test1")})
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_links_in_frames
|
36
|
+
gotoFrameLinksPage()
|
37
|
+
|
38
|
+
assert($ie.frame("buttonFrame").link(:text, "test1").exists?)
|
39
|
+
assert_false($ie.frame("buttonFrame").link(:text, "missing").exists?)
|
40
|
+
|
41
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.frame("buttonFrame").link(:index, 199).href }
|
42
|
+
assert_match( /links2/ ,$ie.frame("buttonFrame").link(:index, 1).href )
|
43
|
+
|
44
|
+
count =0
|
45
|
+
$ie.frame("buttonFrame").links.each do |l|
|
46
|
+
count+=1
|
47
|
+
end
|
48
|
+
|
49
|
+
assert_equal( 9 , count)
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_Link_Exists
|
53
|
+
assert($ie.link(:text, "test1").exists?)
|
54
|
+
assert($ie.link(:text, /TEST/i).exists?)
|
55
|
+
assert_false($ie.link(:text, "missing").exists?)
|
56
|
+
assert_false($ie.link(:text, /miss/).exists?)
|
57
|
+
|
58
|
+
# this assert we have to build up the path
|
59
|
+
# this is what it looks like if you do a to_s on the link file:///C:/watir_bonus/unitTests/html/links1.HTML
|
60
|
+
# but what we get back from $htmlRoot is a mixed case, so its almost impossible for use to test this correctly
|
61
|
+
# assert($ie.link(:url,'file:///C:/watir_bonus/unitTests/html/links1.HTML' ).exists?)
|
62
|
+
|
63
|
+
assert($ie.link(:url, /link_pass.html/).exists?)
|
64
|
+
assert_false($ie.link(:url, "alsomissing.html").exists?)
|
65
|
+
|
66
|
+
assert($ie.link(:id, "link_id").exists?)
|
67
|
+
assert_false($ie.link(:id, "alsomissing").exists?)
|
68
|
+
|
69
|
+
assert($ie.link(:id, /_id/).exists?)
|
70
|
+
assert_false($ie.link(:id, /alsomissing/).exists?)
|
71
|
+
|
72
|
+
assert($ie.link(:name, "link_name").exists?)
|
73
|
+
assert_false($ie.link(:name, "alsomissing").exists?)
|
74
|
+
|
75
|
+
assert($ie.link(:name, /_n/).exists?)
|
76
|
+
assert_false($ie.link(:name, /missing/).exists?)
|
77
|
+
|
78
|
+
assert($ie.link(:title, /ti/).exists?)
|
79
|
+
assert($ie.link(:title, "link_title").exists?)
|
80
|
+
|
81
|
+
assert_false($ie.link(:title, /missing/).exists?)
|
82
|
+
|
83
|
+
assert($ie.link(:url, /_pass/).exists?)
|
84
|
+
assert_false($ie.link(:url, /dont_exist/).exists?)
|
85
|
+
end
|
86
|
+
|
87
|
+
def test_Link_click
|
88
|
+
$ie.link(:text, "test1").click
|
89
|
+
assert( $ie.contains_text("Links2-Pass") )
|
90
|
+
|
91
|
+
gotoLinksPage()
|
92
|
+
$ie.link(:url, /link_pass.html/).click
|
93
|
+
assert( $ie.contains_text("Links3-Pass") )
|
94
|
+
|
95
|
+
gotoLinksPage()
|
96
|
+
|
97
|
+
$ie.link(:index, 1).click
|
98
|
+
assert( $ie.contains_text("Links2-Pass") )
|
99
|
+
|
100
|
+
gotoLinksPage()
|
101
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.link(:index, 199).click }
|
102
|
+
end
|
103
|
+
|
104
|
+
def test_link_properties
|
105
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.link(:index, 199).href }
|
106
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.link(:index, 199).value}
|
107
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.link(:index, 199).innerText }
|
108
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.link(:index, 199).name }
|
109
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.link(:index, 199).id }
|
110
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.link(:index, 199).disabled }
|
111
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.link(:index, 199).type }
|
112
|
+
|
113
|
+
assert_match( /links2/ ,$ie.link(:index, 1).href )
|
114
|
+
assert_equal( "" , $ie.link(:index, 1).value)
|
115
|
+
assert_equal( "test1" , $ie.link(:index, 1).innerText )
|
116
|
+
assert_equal( "" , $ie.link(:index, 1).name )
|
117
|
+
assert_equal( "" , $ie.link(:index, 1).id )
|
118
|
+
assert_equal( false , $ie.link(:index, 1).disabled )
|
119
|
+
assert_equal( "link" , $ie.link(:index, 1).type )
|
120
|
+
|
121
|
+
assert_equal( "link_id" , $ie.link(:index, 6).id )
|
122
|
+
assert_equal( "link_name" , $ie.link(:index, 7).name )
|
123
|
+
|
124
|
+
assert_equal( "" , $ie.link(:index, 7).title)
|
125
|
+
|
126
|
+
assert_equal( "link_title" , $ie.link(:index, 8).title)
|
127
|
+
end
|
128
|
+
|
129
|
+
def test_link_iterator
|
130
|
+
assert_equal(9, $ie.links.length )
|
131
|
+
assert_equal("Link Using a name" , $ie.links[7].innerText)
|
132
|
+
|
133
|
+
index = 1
|
134
|
+
$ie.links.each do |link|
|
135
|
+
assert_equal( $ie.link(:index, index).href , link.href )
|
136
|
+
assert_equal( $ie.link(:index, index).id , link.id )
|
137
|
+
assert_equal( $ie.link(:index, index).name , link.name )
|
138
|
+
assert_equal( $ie.link(:index, index).innerText , link.innerText )
|
139
|
+
index+=1
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
require 'unittests/iostring'
|
145
|
+
class TC_showlinks < Test::Unit::TestCase
|
146
|
+
include MockStdoutTestCase
|
147
|
+
|
148
|
+
def test_showLinks
|
149
|
+
$ie.goto($htmlRoot + "links1.html")
|
150
|
+
$stdout = @mockout
|
151
|
+
$ie.showLinks
|
152
|
+
expected = [/^index name +id +href + text\/src$/,
|
153
|
+
get_path_regex(1, "links2.html","test1"),
|
154
|
+
get_path_regex(2, "link_pass.html","test1"),
|
155
|
+
get_path_regex(3, "pass3.html", " / file:///#{$myDir.downcase}/html/images/button.jpg"),
|
156
|
+
get_path_regex(4, "textarea.html", "new window"),
|
157
|
+
get_path_regex(5, "textarea.html", "new window"),
|
158
|
+
get_path_regex(6, "links1.html", "link using an id", "link_id"),
|
159
|
+
get_path_regex(7, "links1.html", "link using a name", "link_name"),
|
160
|
+
get_path_regex(8, "links1.html", "link using a title"),
|
161
|
+
get_path_regex(9, "pass.html", "image and a text link / file:///#{$myDir.downcase}/html/images/triangle.jpg")]
|
162
|
+
items = @mockout.split(/\n/).collect {|s|s.downcase.strip}
|
163
|
+
expected.each_with_index{|regex, x| assert_match(regex, items[x])}
|
164
|
+
end
|
165
|
+
|
166
|
+
def get_path_regex(idx, name, inner, nameid="")
|
167
|
+
Regexp.new("^#{idx} +#{nameid} +file:///#{$myDir.downcase}/html/#{name} *#{inner}$")
|
168
|
+
end
|
169
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# feature tests for minimizing and maximizing IE windows
|
2
|
+
# revision: $Revision: 1.1.2.1 $
|
3
|
+
|
4
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
|
5
|
+
require 'unittests/setup'
|
6
|
+
|
7
|
+
class TC_MinMax< Test::Unit::TestCase
|
8
|
+
include Watir
|
9
|
+
def setup
|
10
|
+
$ie.goto($htmlRoot + 'pass.html')
|
11
|
+
end
|
12
|
+
def teardown
|
13
|
+
$ie.restore
|
14
|
+
end
|
15
|
+
def test_minimimum
|
16
|
+
$ie.minimize
|
17
|
+
end
|
18
|
+
def test_maximum
|
19
|
+
$ie.maximize
|
20
|
+
end
|
21
|
+
def test_front
|
22
|
+
assert $ie.front?
|
23
|
+
ie2 = IE.start($htmlRoot + 'blankpage.html')
|
24
|
+
assert ie2.front?
|
25
|
+
assert_false $ie.front?
|
26
|
+
$ie.bring_to_front
|
27
|
+
assert $ie.front?
|
28
|
+
ie2.close
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# feature tests for navigation
|
2
|
+
# revision: $Revision: 1.12 $
|
3
|
+
|
4
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
|
5
|
+
require 'unittests/setup'
|
6
|
+
|
7
|
+
class TC_Navigate< Test::Unit::TestCase
|
8
|
+
include Watir
|
9
|
+
|
10
|
+
def gotoPage( a )
|
11
|
+
$ie.goto($htmlRoot + a)
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_navigation
|
15
|
+
|
16
|
+
$ie.clear_url_list
|
17
|
+
gotoPage( 'buttons1.html')
|
18
|
+
url = $ie.url.downcase.gsub('///' , '//') # no idea why this happens - we get 3 / after file:
|
19
|
+
assert_equal(url.downcase , ( $htmlRoot + 'buttons1.html' ).downcase ) # the downcase is that sometimes we get capital drivee letters
|
20
|
+
|
21
|
+
assert_equal( 1, $ie.url_list.length )
|
22
|
+
assert_equal( url , $ie.url_list[0].gsub('\\', '/').downcase )
|
23
|
+
|
24
|
+
gotoPage( 'checkboxes1.html')
|
25
|
+
url = $ie.url.downcase.gsub('///' , '//') # no idea why this happens - we get 3 / after file:
|
26
|
+
|
27
|
+
assert_equal($ie.title , "Test page for Check Boxes")
|
28
|
+
assert_equal( 2, $ie.url_list.length )
|
29
|
+
assert_equal( url , $ie.url_list[1].gsub('\\', '/').downcase )
|
30
|
+
|
31
|
+
$ie.clear_url_list
|
32
|
+
assert_equal( 0, $ie.url_list.length )
|
33
|
+
|
34
|
+
$ie.back
|
35
|
+
assert_equal($ie.title , "Test page for buttons")
|
36
|
+
|
37
|
+
$ie.forward
|
38
|
+
assert_equal($ie.title , "Test page for Check Boxes")
|
39
|
+
|
40
|
+
$ie.checkBox(:name , "box1").set
|
41
|
+
assert($ie.checkBox(:name, "box1").isSet?)
|
42
|
+
|
43
|
+
$ie.refresh
|
44
|
+
# Not sure how we test this. Text fields and checkboxes dont get reset if you click the browser refresh button
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_http_errors
|
48
|
+
# this is commented out as it depends on too many things.....
|
49
|
+
|
50
|
+
assert_raises(NavigationException) { $ie.goto('http://localhost:3001') } # Cannot find server or DNS Error
|
51
|
+
assert_raises(NavigationException) { $ie.goto('http://www.fxruby.org/dfdf' ) } # HTTP 404 - File not found
|
52
|
+
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# feature tests for IE::contains_text
|
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_contains_text < Test::Unit::TestCase
|
8
|
+
include Watir
|
9
|
+
|
10
|
+
def setup
|
11
|
+
$ie.goto($htmlRoot + "textsearch.html")
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_text_found
|
15
|
+
assert($ie.contains_text('slings and arrows of outrageous fortune'))
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_text_not_found
|
19
|
+
assert_false($ie.contains_text('So are they all, all honourable men'))
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_regexp_found
|
23
|
+
assert($ie.contains_text(/bodkin.*fardels/))
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_regexp_not_found
|
27
|
+
assert_false($ie.contains_text(/winding.*watch.*wit/))
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_match_regexp_found
|
31
|
+
$~ = $ie.contains_text(/Messages ([0-9]+)/)
|
32
|
+
assert_equal('42', $1)
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_bad_search_argument
|
36
|
+
assert_raises(ArgumentError) do
|
37
|
+
$ie.contains_text()
|
38
|
+
end
|
39
|
+
assert_raises(MissingWayOfFindingObjectException) do
|
40
|
+
$ie.contains_text(nil)
|
41
|
+
end
|
42
|
+
assert_raises(MissingWayOfFindingObjectException) do
|
43
|
+
$ie.contains_text(42)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
|
49
|
+
|