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.
- data/bin/watir-console +1 -0
- data/changes.rb +119 -0
- data/license.rb +37 -0
- data/readme.rb +55 -120
- data/unittests/buttons_test.rb +107 -104
- data/unittests/buttons_xpath_test.rb +69 -0
- data/unittests/checkbox_test.rb +154 -141
- data/unittests/checkbox_xpath_test.rb +107 -0
- data/unittests/core_tests.rb +6 -2
- data/unittests/css_test.rb +50 -50
- data/unittests/defer_test.rb +47 -0
- data/unittests/dialog_test.rb +78 -0
- data/unittests/div2_xpath_test.rb +22 -0
- data/unittests/div_test.rb +159 -159
- data/unittests/div_xpath_test.rb +96 -0
- data/unittests/errorchecker_test.rb +22 -22
- data/unittests/filefield_test.rb +30 -23
- data/unittests/filefield_xpath_test.rb +35 -0
- data/unittests/form_test.rb +250 -229
- data/unittests/form_xpath_test.rb +253 -0
- data/unittests/frame_test.rb +123 -108
- data/unittests/google_form_test.rb +17 -0
- data/unittests/html/JavascriptClick.html +39 -0
- data/unittests/html/buttons1.html +3 -2
- data/unittests/html/checkboxes1.html +32 -14
- data/unittests/html/complex_table.html +1 -1
- data/unittests/html/depot_store.html +59 -0
- data/unittests/html/div.html +3 -21
- data/unittests/html/div_xml.html +21 -0
- data/unittests/html/fileupload.html +2 -2
- data/unittests/html/forms2.html +3 -3
- data/unittests/html/forms3.html +2 -2
- data/unittests/html/frame_links.html +2 -2
- data/unittests/html/google_india.html +119 -0
- data/unittests/html/iframeTest.html +2 -2
- data/unittests/html/images/map.GIF +0 -0
- data/unittests/html/images/map2.gif +0 -0
- data/unittests/html/images1.html +17 -2
- data/unittests/html/javascriptevents.html +3 -7
- data/unittests/html/links1.html +9 -8
- data/unittests/html/links_multi.html +14 -0
- data/unittests/html/list_matters.html +720 -0
- data/unittests/html/lists.html +18 -0
- data/unittests/html/map_test.html +31 -0
- data/unittests/html/modal_dialog.html +10 -0
- data/unittests/html/modal_dialog_launcher.html +12 -0
- data/unittests/html/new_browser.html +17 -0
- data/unittests/html/pass.html +3 -0
- data/unittests/html/popups1.html +1 -1
- data/unittests/html/pre.html +28 -0
- data/unittests/html/radioButtons1.html +6 -5
- data/unittests/html/selectboxes1.html +12 -11
- data/unittests/html/simple_table.html +1 -1
- data/unittests/html/simple_table_columns.html +1 -1
- data/unittests/html/table1.html +1 -1
- data/unittests/html/tableCell_using_xpath.html +19 -0
- data/unittests/html/textfields1.html +6 -4
- data/unittests/html/xpath_nbsp.html +12 -0
- data/unittests/ie_exists_test.rb +32 -0
- data/unittests/ie_mock.rb +78 -79
- data/unittests/ie_test.rb +39 -39
- data/unittests/images_test.rb +132 -155
- data/unittests/images_xpath_test.rb +91 -0
- data/unittests/links_multi_test.rb +36 -0
- data/unittests/links_test.rb +158 -152
- data/unittests/links_xpath_test.rb +40 -0
- data/unittests/lists_test.rb +29 -0
- data/unittests/map_test.rb +99 -0
- data/unittests/minmax_test.rb +23 -23
- data/unittests/navigate_test.rb +43 -51
- data/unittests/nbsp_xpath_test.rb +18 -0
- data/unittests/other/WindowLogonExample.rb +28 -0
- data/unittests/{WindowLogonExtra.rb → other/WindowLogonExtra.rb} +0 -0
- data/unittests/{all_tests_concurrent.rb → other/all_tests_concurrent.rb} +23 -23
- data/unittests/other/navigate_exception_test.rb +14 -0
- data/unittests/other/rexml_unit_test.rb +24 -0
- data/unittests/other/testcase_method_order_test.rb +36 -0
- data/unittests/other/testcase_verify_test.rb +25 -0
- data/unittests/other/wait_until_test.rb +99 -0
- data/unittests/pagecontainstext_test.rb +56 -37
- data/unittests/parent_child_test.rb +55 -0
- data/unittests/popups_test.rb +37 -37
- data/unittests/pre_test.rb +52 -0
- data/unittests/radios_test.rb +186 -155
- data/unittests/radios_xpath_test.rb +101 -0
- data/unittests/screen_capture_test.rb +41 -41
- data/unittests/selectbox_test.rb +223 -181
- data/unittests/selectbox_xpath_test.rb +113 -0
- data/unittests/setup.rb +29 -25
- data/unittests/speed_settings_test.rb +22 -0
- data/unittests/table_cell_using_xpath_test.rb +40 -0
- data/unittests/table_test.rb +315 -284
- data/unittests/table_xpath_test.rb +114 -0
- data/unittests/textarea_test.rb +81 -0
- data/unittests/textarea_xpath_test.rb +82 -0
- data/unittests/textfields_test.rb +205 -229
- data/unittests/textfields_xpath_test.rb +111 -0
- data/unittests/window_tests.rb +7 -0
- data/unittests/windows/attach_to_existing_window_test.rb +52 -0
- data/unittests/windows/attach_to_new_window_test.rb +82 -0
- data/unittests/windows/close_window_test.rb +22 -0
- data/unittests/windows/frame_links_test.rb +25 -0
- data/unittests/windows/ie-each_test.rb +48 -0
- data/unittests/windows/iedialog_test.rb +55 -0
- data/unittests/windows/js_events_test.rb +57 -0
- data/unittests/windows/jscriptExtraAlert.rb +6 -0
- data/unittests/windows/jscriptExtraConfirmCancel.rb +7 -0
- data/unittests/windows/jscriptExtraConfirmOk.rb +7 -0
- data/unittests/{jscriptPushButton.rb → windows/jscriptPushButton.rb} +1 -1
- data/unittests/windows/jscript_test.rb +64 -0
- data/unittests/windows/modal_dialog_test.rb +127 -0
- data/unittests/windows/new.rb +56 -0
- data/unittests/windows/open_close_test.rb +22 -0
- data/unittests/windows/send_keys_test.rb +34 -0
- data/unittests/xpath_tests.rb +10 -0
- data/watir.rb +4344 -3565
- data/watir/IEDialog/Release/IEDialog.dll +0 -0
- data/watir/WindowHelper.rb +13 -11
- data/watir/assertions.rb +36 -0
- data/watir/camel_case.rb +14 -5
- data/watir/close_all.rb +38 -0
- data/watir/contrib/enabled_popup.rb +21 -0
- data/watir/contrib/ie-new-process.rb +27 -0
- data/watir/contrib/page_checker.rb +29 -0
- data/watir/contrib/visible.rb +47 -0
- data/watir/cookiemanager.rb +4 -4
- data/watir/datahandler.rb +107 -0
- data/watir/dialog.rb +46 -0
- data/watir/elements.rb +65 -0
- data/watir/exceptions.rb +18 -36
- data/watir/ie-process.rb +40 -0
- data/watir/irb-history.rb +31 -0
- data/watir/process.rb +20 -0
- data/watir/testUnitAddons.rb +3 -42
- data/watir/testcase.rb +58 -0
- data/watir/utils.rb +20 -0
- data/watir/waiter.rb +88 -0
- data/watir/watir_simple.rb +4 -4
- data/watir/win32ole.rb +8 -0
- data/watir/win32ole/win32ole.so +0 -0
- data/watir/winClicker.rb +374 -400
- metadata +209 -128
- data/unittests/WindowLogonExample.rb +0 -30
- data/unittests/attachToExistingWindow_test.rb +0 -40
- data/unittests/js_events_test.rb +0 -77
- data/unittests/jscriptExtraAlert.rb +0 -6
- data/unittests/jscriptExtraConfirmCancel.rb +0 -7
- data/unittests/jscriptExtraConfirmOk.rb +0 -7
- data/unittests/jscript_test.rb +0 -57
- data/unittests/send_keys_test.rb +0 -29
- data/unittests/textAreafields_test.rb +0 -81
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# feature tests for Buttons
|
|
2
|
+
# revision: $Revision: 962 $
|
|
3
|
+
|
|
4
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
|
|
5
|
+
require 'unittests/setup'
|
|
6
|
+
|
|
7
|
+
class TC_Buttons_XPath < Test::Unit::TestCase
|
|
8
|
+
include Watir
|
|
9
|
+
|
|
10
|
+
def setup
|
|
11
|
+
$ie.goto($htmlRoot + "buttons1.html")
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_properties
|
|
15
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.button(:xpath, "//input[@name='noName']/").id }
|
|
16
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.button(:xpath, "//input[@name='noName']/").name }
|
|
17
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.button(:xpath, "//input[@name='noName']/").disabled }
|
|
18
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.button(:xpath, "//input[@name='noName']/").type }
|
|
19
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.button(:xpath, "//input[@name='noName']/").value }
|
|
20
|
+
|
|
21
|
+
assert_equal("b1" , $ie.button(:xpath, "//input[@id='b2']/").name )
|
|
22
|
+
assert_equal("b2" , $ie.button(:xpath, "//input[@id='b2']/").id )
|
|
23
|
+
assert_equal("button" , $ie.button(:xpath, "//input[@id='b2']/").type )
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_button_using_default
|
|
27
|
+
# since most of the time, a button will be accessed based on its caption, there is a default way of accessing it....
|
|
28
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.button(:xpath, "//input[@value='Missing Caption']/").click }
|
|
29
|
+
|
|
30
|
+
$ie.button(:xpath, "//input[@value='Click Me']/").click
|
|
31
|
+
assert($ie.text.include?("PASS") )
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def test_Button_click_only
|
|
35
|
+
$ie.button(:xpath, "//input[@value='Click Me']/").click
|
|
36
|
+
assert($ie.text.include?("PASS") )
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def test_button_click
|
|
40
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.button(:xpath, "//input[@value='Missing Caption']/").click }
|
|
41
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.button(:xpath, "//input[@id='MissingId']/").click }
|
|
42
|
+
|
|
43
|
+
assert_raises(ObjectDisabledException , "ObjectDisabledException was supposed to be thrown" ) { $ie.button(:xpath, "//input[@value='Disabled Button']/").click }
|
|
44
|
+
|
|
45
|
+
$ie.button(:xpath, "//input[@value='Click Me']/").click
|
|
46
|
+
assert($ie.text.include?("PASS") )
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def test_Button_Exists
|
|
50
|
+
assert($ie.button(:xpath, "//input[@value='Click Me']/").exists?)
|
|
51
|
+
assert($ie.button(:xpath, "//input[@value='Submit']/").exists?)
|
|
52
|
+
assert($ie.button(:xpath, "//input[@name='b1']/").exists?)
|
|
53
|
+
assert($ie.button(:xpath, "//input[@id='b2']/").exists?)
|
|
54
|
+
|
|
55
|
+
assert(!$ie.button(:xpath, "//input[@value='Missing Caption']/").exists?)
|
|
56
|
+
assert(!$ie.button(:xpath, "//input[@name='missingname']/").exists?)
|
|
57
|
+
assert(!$ie.button(:xpath, "//input[@id='missingid']/").exists?)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def test_Button_Enabled
|
|
61
|
+
assert($ie.button(:xpath, "//input[@value='Click Me']/").enabled?)
|
|
62
|
+
assert(!$ie.button(:xpath, "//input[@value='Disabled Button']/").enabled?)
|
|
63
|
+
assert(!$ie.button(:xpath, "//input[@name='b4']/").enabled?)
|
|
64
|
+
assert(!$ie.button(:xpath, "//input[@id='b5']/").enabled?)
|
|
65
|
+
|
|
66
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.button(:xpath, "//input[@name='noName']/").enabled? }
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
|
data/unittests/checkbox_test.rb
CHANGED
|
@@ -1,149 +1,162 @@
|
|
|
1
1
|
# feature tests for Check Boxes
|
|
2
|
-
# revision: $Revision:
|
|
2
|
+
# revision: $Revision: 1164 $
|
|
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_CheckBox < Test::Unit::TestCase
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
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("check_box_style" , $ie.checkbox(:name, "box1").class_name)
|
|
28
|
+
assert_equal("" , $ie.checkbox(:name, "box2").class_name)
|
|
29
|
+
|
|
30
|
+
assert_equal("1" , $ie.checkbox(:name,"box4").value )
|
|
31
|
+
assert_equal("3" , $ie.checkbox(:name,"box4" , 3).value )
|
|
32
|
+
assert($ie.checkbox(:name, "box6").exists?)
|
|
33
|
+
assert_equal("checkbox" , $ie.checkbox(:name,"box4" , 3).type )
|
|
34
|
+
assert_equal("checkbox" , $ie.checkbox(:name,"box6" , 'Milk').type )
|
|
35
|
+
assert_equal(false , $ie.checkbox(:name,"box4" , 3).disabled )
|
|
36
|
+
assert_equal("" , $ie.checkbox(:name,"box4" , 3).id )
|
|
37
|
+
|
|
38
|
+
assert_equal("box4-value5" , $ie.checkbox(:name,"box4" , 5).title)
|
|
39
|
+
assert_equal("" , $ie.checkbox(:name,"box4" , 4).title)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_onClick
|
|
43
|
+
assert(!$ie.button(:value , "foo").enabled?)
|
|
44
|
+
$ie.checkBox(:name, "box5").set
|
|
45
|
+
assert($ie.button(:value , "foo").enabled?)
|
|
46
|
+
|
|
47
|
+
$ie.checkBox(:name, "box5").clear
|
|
48
|
+
assert(!$ie.button(:value , "foo").enabled?)
|
|
49
|
+
|
|
50
|
+
$ie.checkBox(:name, "box5").clear
|
|
51
|
+
assert(!$ie.button(:value , "foo").enabled?)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def test_CheckBox_Exists
|
|
55
|
+
assert($ie.checkBox(:name, "box1").exists?)
|
|
56
|
+
assert(!$ie.checkBox(:name, "missing").exists?)
|
|
57
|
+
|
|
58
|
+
assert($ie.checkbox(:name, "box4" , 1).exists?)
|
|
59
|
+
assert(!$ie.checkbox(:name, "box4" , 22).exists?)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def test_checkbox_Enabled
|
|
63
|
+
assert_raises(UnknownObjectException) { $ie.checkbox(:name, "noName").enabled? }
|
|
64
|
+
assert_raises(UnknownObjectException) { $ie.checkbox(:id, "noName").enabled? }
|
|
65
|
+
assert_raises(UnknownObjectException) { $ie.checkbox(:name, "box4" , 6).enabled? }
|
|
66
|
+
|
|
67
|
+
assert($ie.checkbox(:name, "box1").enabled?)
|
|
68
|
+
assert(!$ie.checkbox(:name, "box2").enabled?)
|
|
69
|
+
|
|
70
|
+
assert($ie.checkbox(:name, "box4", 4).enabled?)
|
|
71
|
+
assert(!$ie.checkbox(:name, "box4" , 5 ).enabled?)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def test_checkbox_isSet
|
|
75
|
+
assert_raises(UnknownObjectException ) { $ie.checkbox(:name, "noName").isSet? }
|
|
76
|
+
|
|
77
|
+
assert(!$ie.checkbox(:name, "box1").isSet?)
|
|
78
|
+
assert(!$ie.checkbox(:name, "box2").isSet?)
|
|
79
|
+
assert($ie.checkbox(:name, "box3").isSet?)
|
|
80
|
+
|
|
81
|
+
assert(!$ie.checkbox(:name, "box4" , 2 ).isSet?)
|
|
82
|
+
assert($ie.checkbox(:name, "box4" , 1 ).isSet?)
|
|
83
|
+
assert(!$ie.checkbox(:name, 'box6', 'Milk').isSet?)
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def test_checkbox_clear
|
|
87
|
+
assert_raises(UnknownObjectException) { $ie.checkbox(:name, "noName").clear }
|
|
88
|
+
$ie.checkbox(:name, "box1").clear
|
|
89
|
+
assert(!$ie.checkbox(:name, "box1").isSet?)
|
|
90
|
+
|
|
91
|
+
assert_raises(ObjectDisabledException) { $ie.checkbox(:name, "box2").clear }
|
|
92
|
+
assert(!$ie.checkbox(:name, "box2").isSet?)
|
|
93
|
+
|
|
94
|
+
$ie.checkbox(:name, "box3").clear
|
|
95
|
+
assert(!$ie.checkbox(:name, "box3").isSet?)
|
|
96
|
+
|
|
97
|
+
$ie.checkbox(:name, "box4" , 1).clear
|
|
98
|
+
assert(!$ie.checkbox(:name, "box4" , 1).isSet?)
|
|
99
|
+
|
|
100
|
+
$ie.checkbox(:name, "box6" , 'Tea').clear
|
|
101
|
+
assert(!$ie.checkbox(:name, "box6" , 'Tea').isSet?)
|
|
102
|
+
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
def test_checkbox_getState
|
|
106
|
+
assert_raises(UnknownObjectException) { $ie.checkbox(:name, "noName").getState }
|
|
107
|
+
assert_equal( false , $ie.checkbox(:name, "box1").getState )
|
|
108
|
+
assert_equal( true , $ie.checkbox(:name, "box3").getState)
|
|
109
|
+
|
|
110
|
+
# checkboxes that have the same name but different values
|
|
111
|
+
assert_equal( false , $ie.checkbox(:name, "box4" , 2).getState )
|
|
112
|
+
assert_equal( true , $ie.checkbox(:name, "box4" , 1).getState)
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
def test_checkbox_set
|
|
116
|
+
assert_raises(UnknownObjectException) { $ie.checkbox(:name, "noName").set }
|
|
117
|
+
$ie.checkbox(:name, "box1").set
|
|
118
|
+
assert($ie.checkbox(:name, "box1").isSet?)
|
|
119
|
+
|
|
120
|
+
assert_raises(ObjectDisabledException) { $ie.checkbox(:name, "box2").set }
|
|
121
|
+
|
|
122
|
+
$ie.checkbox(:name, "box3").set
|
|
123
|
+
assert($ie.checkbox(:name, "box3").isSet?)
|
|
124
|
+
|
|
125
|
+
# checkboxes that have the same name but different values
|
|
126
|
+
$ie.checkbox(:name, "box4" , 3).set
|
|
127
|
+
assert($ie.checkbox(:name, "box4" , 3).isSet?)
|
|
128
|
+
|
|
129
|
+
# test set using the optinal true/false
|
|
130
|
+
# assumes the checkbox is already checked
|
|
131
|
+
$ie.checkbox(:name, "box1").set( false )
|
|
132
|
+
assert(!$ie.checkbox(:name, "box1").isSet?)
|
|
133
|
+
|
|
134
|
+
$ie.checkbox(:name, "box1").set( true )
|
|
135
|
+
assert($ie.checkbox(:name, "box1").isSet?)
|
|
136
|
+
|
|
137
|
+
$ie.checkbox(:name, "box6", 'Tea').set( false )
|
|
138
|
+
assert(!$ie.checkbox(:name, "box6", 'Tea').isSet?)
|
|
139
|
+
|
|
140
|
+
$ie.checkbox(:name, "box6", 'Tea').set( true )
|
|
141
|
+
assert($ie.checkbox(:name, "box6", 'Tea').isSet?)
|
|
142
|
+
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
def test_checkbox_iterator
|
|
146
|
+
|
|
147
|
+
assert_equal(13, $ie.checkboxes.length)
|
|
148
|
+
assert_equal("box1" , $ie.checkboxes[1].name )
|
|
149
|
+
|
|
150
|
+
index=1
|
|
151
|
+
$ie.checkboxes.each do |c|
|
|
152
|
+
assert_equal( $ie.checkbox(:index, index).name , c.name )
|
|
153
|
+
assert_equal( $ie.checkbox(:index, index).id, c.id )
|
|
154
|
+
assert_equal( $ie.checkbox(:index, index).value, c.value )
|
|
155
|
+
index+=1
|
|
103
156
|
end
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
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
|
-
|
|
157
|
+
assert_equal(index-1, $ie.checkboxes.length)
|
|
158
|
+
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
|
|
149
162
|
end
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# feature tests for Check Boxes
|
|
2
|
+
# revision: $Revision: 962 $
|
|
3
|
+
|
|
4
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__
|
|
5
|
+
require 'unittests/setup'
|
|
6
|
+
|
|
7
|
+
class TC_CheckBox_XPath < 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(:xpath , "//input[@name='noName']/").id }
|
|
16
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.checkbox(:xpath , "//input[@name='noName']/").name }
|
|
17
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.checkbox(:xpath , "//input[@name='noName']/").disabled }
|
|
18
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.checkbox(:xpath , "//input[@name='noName']/").type }
|
|
19
|
+
assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { $ie.checkbox(:xpath , "//input[@name='noName']/").value }
|
|
20
|
+
|
|
21
|
+
assert_equal("1" , $ie.checkbox(:xpath , "//input[@name='box4']/").value )
|
|
22
|
+
assert_equal("3" , $ie.checkbox(:xpath , "//input[@name='box4' and @value='3']/").value )
|
|
23
|
+
assert_equal("checkbox" , $ie.checkbox(:xpath , "//input[@name='box4' and @value='3']/").type )
|
|
24
|
+
assert_equal(false , $ie.checkbox(:xpath , "//input[@name='box4' and @value='3']/").disabled )
|
|
25
|
+
assert_equal("" , $ie.checkbox(:xpath , "//input[@name='box4' and @value='3']/").id )
|
|
26
|
+
|
|
27
|
+
assert_equal("box4-value5" , $ie.checkbox(:xpath , "//input[@name='box4' and @value='5']/").title)
|
|
28
|
+
assert_equal("" , $ie.checkbox(:xpath , "//input[@name='box4' and @value='4']/").title)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def test_CheckBox_Exists
|
|
32
|
+
assert($ie.checkbox(:xpath , "//input[@name='box4' and @value='1']/").exists?)
|
|
33
|
+
assert(!$ie.checkbox(:xpath , "//input[@name='box4' and @value='22']/").exists?)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def test_checkbox_Enabled
|
|
37
|
+
assert_raises(UnknownObjectException) { $ie.checkbox(:xpath , "//input[@name='noName']/").enabled? }
|
|
38
|
+
assert_raises(UnknownObjectException) { $ie.checkbox(:xpath , "//input[@id='noName']/").enabled? }
|
|
39
|
+
assert_raises(UnknownObjectException) { $ie.checkbox(:xpath , "//input[@name='box4' and @value='6']/").enabled? }
|
|
40
|
+
|
|
41
|
+
assert($ie.checkbox(:xpath , "//input[@name='box1']/").enabled?)
|
|
42
|
+
assert(!$ie.checkbox(:xpath , "//input[@name='box2']/").enabled?)
|
|
43
|
+
|
|
44
|
+
assert($ie.checkbox(:xpath , "//input[@name='box4' and @value='4']/").enabled?)
|
|
45
|
+
assert(!$ie.checkbox(:xpath , "//input[@name='box4' and @value='5']/").enabled?)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def test_checkbox_isSet
|
|
49
|
+
assert_raises(UnknownObjectException ) { $ie.checkbox(:xpath , "//input[@name='noName']/").isSet? }
|
|
50
|
+
|
|
51
|
+
assert(!$ie.checkbox(:xpath , "//input[@name='box1']/").isSet?)
|
|
52
|
+
assert(!$ie.checkbox(:xpath , "//input[@name='box2']/").isSet?)
|
|
53
|
+
assert($ie.checkbox(:xpath , "//input[@name='box3']/").isSet?)
|
|
54
|
+
|
|
55
|
+
assert(!$ie.checkbox(:xpath , "//input[@name='box4' and @value='2']/").isSet?)
|
|
56
|
+
assert($ie.checkbox(:xpath , "//input[@name='box4' and @value='1']/").isSet?)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def test_checkbox_clear
|
|
60
|
+
assert_raises(UnknownObjectException) { $ie.checkbox(:xpath , "//input[@name='noName']/").clear }
|
|
61
|
+
$ie.checkbox(:xpath , "//input[@name='box1']/").clear
|
|
62
|
+
assert(!$ie.checkbox(:xpath , "//input[@name='box1']/").isSet?)
|
|
63
|
+
|
|
64
|
+
assert_raises(ObjectDisabledException) { $ie.checkbox(:xpath , "//input[@name='box2']/").clear }
|
|
65
|
+
assert(!$ie.checkbox(:xpath , "//input[@name='box2']/").isSet?)
|
|
66
|
+
|
|
67
|
+
$ie.checkbox(:xpath , "//input[@name='box3']/").clear
|
|
68
|
+
assert(!$ie.checkbox(:xpath , "//input[@name='box3']/").isSet?)
|
|
69
|
+
|
|
70
|
+
$ie.checkbox(:xpath , "//input[@name='box4' and @value='1']/").clear
|
|
71
|
+
assert(!$ie.checkbox(:xpath , "//input[@name='box4' and @value='1']/").isSet?)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def test_checkbox_getState
|
|
75
|
+
assert_raises(UnknownObjectException) { $ie.checkbox(:xpath , "//input[@name='noName']/").getState }
|
|
76
|
+
assert_equal( false , $ie.checkbox(:xpath , "//input[@name='box1']/").getState )
|
|
77
|
+
assert_equal( true , $ie.checkbox(:xpath , "//input[@name='box3']/").getState)
|
|
78
|
+
|
|
79
|
+
# checkboxes that have the same name but different values
|
|
80
|
+
assert_equal( false , $ie.checkbox(:xpath , "//input[@name='box4' and @value='2']/").getState )
|
|
81
|
+
assert_equal( true , $ie.checkbox(:xpath , "//input[@name='box4' and @value='1']/").getState)
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def test_checkbox_set
|
|
85
|
+
assert_raises(UnknownObjectException) { $ie.checkbox(:xpath , "//input[@name='noName']/").set }
|
|
86
|
+
$ie.checkbox(:xpath , "//input[@name='box1']/").set
|
|
87
|
+
assert($ie.checkbox(:xpath , "//input[@name='box1']/").isSet?)
|
|
88
|
+
|
|
89
|
+
assert_raises(ObjectDisabledException) { $ie.checkbox(:xpath , "//input[@name='box2']/").set }
|
|
90
|
+
|
|
91
|
+
$ie.checkbox(:xpath , "//input[@name='box3']/").set
|
|
92
|
+
assert($ie.checkbox(:xpath , "//input[@name='box3']/").isSet?)
|
|
93
|
+
|
|
94
|
+
# checkboxes that have the same name but different values
|
|
95
|
+
$ie.checkbox(:xpath , "//input[@name='box4' and @value='3']/").set
|
|
96
|
+
assert($ie.checkbox(:xpath , "//input[@name='box4' and @value='3']/").isSet?)
|
|
97
|
+
|
|
98
|
+
# test set using the optinal true/false
|
|
99
|
+
# assumes the checkbox is already checked
|
|
100
|
+
$ie.checkbox(:xpath , "//input[@name='box1']/").set( false )
|
|
101
|
+
assert(!$ie.checkbox(:xpath , "//input[@name='box1']/").isSet?)
|
|
102
|
+
|
|
103
|
+
$ie.checkbox(:xpath , "//input[@name='box1']/").set( true )
|
|
104
|
+
assert($ie.checkbox(:xpath , "//input[@name='box1']/").isSet?)
|
|
105
|
+
|
|
106
|
+
end
|
|
107
|
+
end
|