watir 1.6.2 → 1.6.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (178) hide show
  1. data/CHANGES +326 -188
  2. data/bin/watir-console +7 -8
  3. data/lib/changes.rb +3 -3
  4. data/lib/license.rb +38 -38
  5. data/lib/readme.rb +140 -140
  6. data/lib/watir/WindowHelper.rb +49 -49
  7. data/lib/watir/camel_case.rb +66 -45
  8. data/lib/watir/clickJSDialog.rb +19 -19
  9. data/lib/watir/close_all.rb +37 -37
  10. data/lib/watir/collections.rb +344 -312
  11. data/lib/watir/container.rb +815 -753
  12. data/lib/watir/contrib/enabled_popup.rb +20 -20
  13. data/lib/watir/contrib/ie-new-process.rb +27 -27
  14. data/lib/watir/contrib/page_checker.rb +29 -29
  15. data/lib/watir/cookiemanager.rb +55 -55
  16. data/lib/watir/core_ext.rb +18 -0
  17. data/lib/watir/datahandler.rb +107 -107
  18. data/lib/watir/dialog.rb +46 -46
  19. data/lib/watir/element.rb +343 -312
  20. data/lib/watir/element_collections.rb +97 -81
  21. data/lib/watir/form.rb +170 -170
  22. data/lib/watir/frame.rb +59 -59
  23. data/lib/watir/ie-class.rb +1009 -1003
  24. data/lib/watir/ie-process.rb +39 -39
  25. data/lib/watir/ie.rb +133 -132
  26. data/lib/watir/image.rb +130 -130
  27. data/lib/watir/input_elements.rb +572 -539
  28. data/lib/watir/irb-history.rb +30 -30
  29. data/lib/watir/link.rb +64 -64
  30. data/lib/watir/locator.rb +176 -161
  31. data/lib/watir/logger.rb +19 -19
  32. data/lib/watir/modal_dialog.rb +122 -122
  33. data/lib/watir/non_control_elements.rb +145 -127
  34. data/lib/watir/page-container.rb +107 -105
  35. data/lib/watir/popup.rb +29 -29
  36. data/lib/watir/process.rb +19 -19
  37. data/lib/watir/screen_capture.rb +115 -115
  38. data/lib/watir/setFileDialog.rb +16 -16
  39. data/lib/watir/table.rb +362 -362
  40. data/lib/watir/utils.rb +19 -19
  41. data/lib/watir/version.rb +5 -5
  42. data/lib/watir/watir_simple.rb +475 -475
  43. data/lib/watir/win32.rb +35 -28
  44. data/lib/watir/win32ole.rb +14 -6
  45. data/lib/watir/winClicker.rb +496 -479
  46. data/unittests/all_tests.rb +10 -10
  47. data/unittests/buttons_xpath_test.rb +69 -69
  48. data/unittests/checkbox_test.rb +179 -176
  49. data/unittests/checkbox_xpath_test.rb +107 -107
  50. data/unittests/core_tests.rb +17 -16
  51. data/unittests/css_test.rb +35 -35
  52. data/unittests/defer_test.rb +46 -46
  53. data/unittests/dialog_test.rb +77 -77
  54. data/unittests/div2_xpath_test.rb +21 -21
  55. data/unittests/div_test.rb +188 -183
  56. data/unittests/div_xpath_test.rb +96 -96
  57. data/unittests/errorchecker_test.rb +22 -22
  58. data/unittests/filefield_test.rb +39 -40
  59. data/unittests/filefield_xpath_test.rb +33 -33
  60. data/unittests/form_test.rb +280 -293
  61. data/unittests/form_xpath_test.rb +252 -253
  62. data/unittests/frame_test.rb +155 -157
  63. data/unittests/google_form_test.rb +15 -15
  64. data/unittests/html/JavascriptClick.html +39 -39
  65. data/unittests/html/blankpage.html +11 -11
  66. data/unittests/html/buttons1.html +40 -40
  67. data/unittests/html/checkboxes1.html +89 -89
  68. data/unittests/html/complex_table.html +36 -36
  69. data/unittests/html/cssTest.html +42 -42
  70. data/unittests/html/depot_store.html +51 -51
  71. data/unittests/html/div.html +93 -93
  72. data/unittests/html/div_xml.html +20 -20
  73. data/unittests/html/fileupload.html +45 -45
  74. data/unittests/html/formTest1.html +38 -38
  75. data/unittests/html/forms2.html +44 -44
  76. data/unittests/html/forms3.html +131 -131
  77. data/unittests/html/forms4.html +27 -27
  78. data/unittests/html/frame_buttons.html +3 -3
  79. data/unittests/html/frame_links.html +3 -3
  80. data/unittests/html/frame_multi.html +4 -4
  81. data/unittests/html/google_india.html +107 -107
  82. data/unittests/html/iframeTest.html +12 -12
  83. data/unittests/html/iframeTest1.html +6 -6
  84. data/unittests/html/iframeTest2.html +5 -5
  85. data/unittests/html/images1.html +66 -66
  86. data/unittests/html/javascriptevents.html +35 -35
  87. data/unittests/html/link_pass.html +10 -10
  88. data/unittests/html/links1.html +38 -38
  89. data/unittests/html/links2.html +10 -10
  90. data/unittests/html/links_multi.html +14 -14
  91. data/unittests/html/list_matters.html +720 -720
  92. data/unittests/html/lists.html +17 -17
  93. data/unittests/html/map_test.html +31 -31
  94. data/unittests/html/modal_dialog.html +10 -10
  95. data/unittests/html/modal_dialog_launcher.html +11 -11
  96. data/unittests/html/nestedFrames.html +6 -6
  97. data/unittests/html/new_browser.html +16 -16
  98. data/unittests/html/pass.html +12 -12
  99. data/unittests/html/popups1.html +59 -59
  100. data/unittests/html/pre.html +27 -27
  101. data/unittests/html/radioButtons1.html +71 -71
  102. data/unittests/html/select_tealeaf.html +54 -54
  103. data/unittests/html/selectboxes1.html +52 -55
  104. data/unittests/html/simple_table.html +26 -26
  105. data/unittests/html/simple_table_buttons.html +104 -104
  106. data/unittests/html/simple_table_columns.html +76 -76
  107. data/unittests/html/table1.html +181 -181
  108. data/unittests/html/tableCell_using_xpath.html +19 -19
  109. data/unittests/html/textarea.html +30 -30
  110. data/unittests/html/textfields1.html +88 -88
  111. data/unittests/html/textsearch.html +44 -44
  112. data/unittests/html/wallofcheckboxes.html +1003 -1003
  113. data/unittests/html/xpath_nbsp.html +12 -12
  114. data/unittests/ie_exists_test.rb +33 -33
  115. data/unittests/ie_mock.rb +94 -94
  116. data/unittests/ie_test.rb +51 -50
  117. data/unittests/images_test.rb +157 -157
  118. data/unittests/images_xpath_test.rb +91 -91
  119. data/unittests/links_multi_test.rb +48 -48
  120. data/unittests/links_test.rb +175 -177
  121. data/unittests/links_xpath_test.rb +39 -39
  122. data/unittests/map_test.rb +98 -98
  123. data/unittests/minmax_test.rb +31 -31
  124. data/unittests/navigate_test.rb +39 -39
  125. data/unittests/nbsp_xpath_test.rb +16 -16
  126. data/unittests/non_core_tests.rb +12 -12
  127. data/unittests/other/WindowLogonExample.rb +27 -27
  128. data/unittests/other/WindowLogonExtra.rb +6 -6
  129. data/unittests/other/all_tests_concurrent.rb +57 -57
  130. data/unittests/{windows → other}/jscriptExtraAlert.rb +6 -6
  131. data/unittests/{windows → other}/jscriptExtraConfirmCancel.rb +6 -6
  132. data/unittests/{windows → other}/jscriptExtraConfirmOk.rb +6 -6
  133. data/unittests/{windows → other}/jscriptPushButton.rb +6 -6
  134. data/unittests/{windows → other}/jscript_test.rb +63 -63
  135. data/unittests/other/navigate_exception_test.rb +24 -24
  136. data/unittests/other/rexml_unit_test.rb +27 -24
  137. data/unittests/other/screen_capture_test.rb +54 -54
  138. data/unittests/other/testcase_method_order_test.rb +35 -35
  139. data/unittests/other/testcase_verify_test.rb +24 -24
  140. data/unittests/other/wait_until_test.rb +99 -99
  141. data/unittests/pagecontainstext_test.rb +69 -69
  142. data/unittests/parent_child_test.rb +43 -43
  143. data/unittests/perf_test.rb +20 -20
  144. data/unittests/popups_test.rb +43 -43
  145. data/unittests/pre_test.rb +53 -53
  146. data/unittests/radios_test.rb +212 -212
  147. data/unittests/radios_xpath_test.rb +101 -101
  148. data/unittests/security_setting_test.rb +23 -23
  149. data/unittests/selectbox_test.rb +148 -139
  150. data/unittests/selectbox_xpath_test.rb +113 -113
  151. data/unittests/setup.rb +77 -75
  152. data/unittests/speed_settings_test.rb +67 -65
  153. data/unittests/table_cell_using_xpath_test.rb +35 -35
  154. data/unittests/table_test.rb +376 -362
  155. data/unittests/table_xpath_test.rb +110 -110
  156. data/unittests/test_tests.rb +9 -9
  157. data/unittests/textarea_test.rb +92 -92
  158. data/unittests/textarea_xpath_test.rb +78 -78
  159. data/unittests/textfield_for_ch_char_test.rb +31 -29
  160. data/unittests/textfields_test.rb +218 -218
  161. data/unittests/textfields_xpath_test.rb +111 -111
  162. data/unittests/window_tests.rb +10 -7
  163. data/unittests/windows/attach_to_existing_window_test.rb +53 -52
  164. data/unittests/windows/attach_to_new_window_test.rb +83 -82
  165. data/unittests/windows/close_window_test.rb +20 -20
  166. data/unittests/windows/frame_links_test.rb +25 -25
  167. data/unittests/windows/ie-each_test.rb +47 -47
  168. data/unittests/windows/iedialog_test.rb +54 -54
  169. data/unittests/windows/js_events_test.rb +55 -55
  170. data/unittests/windows/modal_dialog_test.rb +128 -126
  171. data/unittests/windows/new_test.rb +57 -55
  172. data/unittests/windows/open_close_test.rb +18 -18
  173. data/unittests/windows/send_keys_test.rb +33 -32
  174. data/unittests/xpath_tests.rb +10 -10
  175. metadata +20 -20
  176. data/lib/watir/contrib/visible.rb +0 -47
  177. data/unittests/iostring.rb +0 -30
  178. data/unittests/iostring_test.rb +0 -48
data/CHANGES CHANGED
@@ -1,188 +1,326 @@
1
- == Watir 1.5.6
2
-
3
- To install this:
4
-
5
- "gem update --system"
6
- "gem install watir"
7
-
8
- Installer Fix
9
-
10
- This update fixes an installer problem in Watir 1.5.5 that affected some users.
11
- If you installed 1.5.5 without error, there is no reason to get this update.
12
-
13
- == Watir 1.5.5.
14
-
15
- New Features
16
-
17
- * Multiple attributes can now be specified for these elements:
18
- li, ul, map, area, h1, h2, h3, h4, h5, h6. (This was claimed to work earlier,
19
- but never did.)
20
- http://jira.openqa.org/browse/WTR-196
21
-
22
- Bug Fixes
23
-
24
- * Statements such at ie.table().row() now work (no longer private).
25
- http://jira.openqa.org/browse/WTR-117
26
- * Fixed bug with images method when used with anything but ie. (Paul Rogers)
27
- E.g. ie.div().images. http://jira.openqa.org/browse/WTR-211
28
- * Fixed intermittent bug with ie.file_field().set. (Tomislav Car)
29
- http://jira.openqa.org/browse/WTR-210
30
- * When installing Watir 1.5.4 you could get extra, confusing
31
- questions. This shouldn't happen anymore.
32
- http://jira.openqa.org/browse/WTR-209
33
- * Improved error message when element is not found using multiple attributes.
34
- http://jira.openqa.org/browse/WTR-181
35
- * Made examples and unit tests somewhat better examples: removed unnecessary
36
- "include Watir" statements; started using "browser" instead of "$ie"; use
37
- new methods 'goto_page' and 'uses_page' (this last improves performance of
38
- unit tests).
39
- http://jira.openqa.org/browse/WTR-159
40
- * Moved brittle unit test that was causing cascading failures; renamed another
41
- that was causing a namespace collision.
42
- http://jira.openqa.org/browse/WTR-92
43
-
44
- == Version 1.5.4
45
-
46
- New Features
47
-
48
- * Add new speed, :zippy. This is like fast, but, in effect, it does a TextField#value= instead of a TextField#set. If you have specific text fields that you never want this to happen to, use ie.text_field(:how, what).requires_typing.set instead.
49
- http://svn.openqa.org/fisheye/changelog/watir/?cs=1295
50
- * Add support for Chinese input as supplied by Vincent Xu.
51
- http://jira.openqa.org/browse/WTR-71.
52
-
53
- Bug Fixes
54
-
55
- * Add dependency on windows-pr 0.6.6, which seems to be necessary on Vista.
56
- * Fix for bug in IE.close_others provided by Paul Taylor.
57
- http://jira.openqa.org/browse/WTR-194
58
- * Fix for error when using verify_equal with ci_reporter, provided by Marcog.
59
- http://svn.openqa.org/fisheye/changelog/watir/?cs=1301
60
-
61
- == Version 1.5.3
62
-
63
- Bug fixes and minor cleanup.
64
-
65
- * Fix text areas bugs.
66
- * Fix warning messages caused by redefined constants.
67
- * Break out watir.rb into multiple files.
68
- * Fix [WTR-90] error when running tests when installing gem.
69
- http://jira.openqa.org/browse/WTR-90
70
- * Fix tests.
71
- * Update documentation.
72
-
73
- Major Changes in 1.5.2
74
- Support for IE's Modal Dialogs.
75
- showModalDialog()
76
- Any method can be used to specify an element (:text, :class, etc.).
77
- ie.button(:class,'Button Menu').click
78
- ie.div(:text, 'Type').text_field(:class, 'TextInput-input').set('my value')
79
- ie.button(:text, 'Save').click
80
- One can now use multiple attributes to specify an element.
81
- ie.span(:class =>'Label', :text => 'Add new').click
82
-
83
- Other Changes in 1.5.2
84
- * Migrated IE.new_process from watir/contrib and improved its reliability. We now recommend IE.new_process over IE.new as a way to avoid numerous errors detailed in http://jira.openqa.org/browse/WTR-150.
85
- * Added IE.start_process. This works like IE.start, but uses the new_process mechanism to start IE.
86
- * Added IE.new_window and IE.start_window. This are synonyms for IE.new and IE.start.
87
- * Added dependency on the win32-process gem.
88
- * Added IE.each, which iterates through the various IE windows currently open.
89
- * Updated WindowHelper and watir/dialog to work with IE7
90
- * The wait method was completely rewritten. This should fix various errors seen in 1.5.1.1165 and 1.5.1.1158.
91
- * Removed the "spinner".
92
- * Fixed bug in Element#parent and updated unit test.
93
- * HTML value attributes are checked as strings before converting, updated unit tests.
94
- * Watir::wait_until clean up.
95
- * Fix for winclicker when installed in directory with spaces.
96
- * Rdoc changes and updates.
97
- * A workaround for frame access errors in the wait command, swallowing access denied errors and rethrowing if other WIN32OLERuntimeErrors show up.
98
- * Add support for "li" tag.
99
- * Fix for bug in element_by_xpath. http://www.mail-archive.com/wtr-general@rubyforge.org/msg06742.html
100
- * "Wait" method now is called recursively into nested frames. http://jira.openqa.org/browse/WTR-107
101
- * Rdocs now only include the core Watir library (not contrib).
102
- * Improve error reporting when IE#modal_dialog isn't found.
103
- * Add method "ModalDialog#exists?"
104
- * Add Watir::Win32.window_exists? method.
105
- * Fix for winclicker setComboBoxTest and setTextBoxText http://jira.openqa.org/browse/WTR-124
106
- * Improved Support for IE7
107
- o Fix for IE7 on ie.exists? http://jira.openqa.org/browse/WTR-123
108
- o Fix for IE7 with winclicker.
109
- o Fix for check_for_http_error in IE7. http://jira.openqa.org/browse/WTR-141
110
- * Fix for IE7 on ie.exists? http://jira.openqa.org/browse/WTR-123
111
- * Rubyw is now used in winclicker to bypass command line windows.
112
- * Autoit is registered before being used.
113
- * Watir now checks for the right version of Ruby before loading our customized Win32ole library.
114
- * ie.file_field has been fixed and unit test updated.
115
- * rdoc generation has been fixed.
116
- * page checker has been moved from the default behavior into contrib/page_checker.rb
117
- * Fix for intermittent crashes occuring when using Watir with Ruby version > 1.8.2.
118
- * Fix for http://jira.openqa.org/browse/WTR-86
119
- This fix prevents the Watir-modified win32ole.so library (compiled against 1.8.2) from being used.
120
- * Added Element#parent
121
- * Add new methods Element#after? and Element#before?
122
- * Added support for relative specifiers. E.g.:
123
- link = $ie.link(:class => 'addtocart', :after? => @headline)
124
- * Removed NAVIGATION_CHECKER from Watir.rb, added to contrib. This fixes rdoc generation and stops the frame access exception being thrown in the default installation.
125
- * Open-code calls to def_creator, for easier debugging and rdoc generation of factory methods.
126
- * Winclicker fix for too many callbacks defined error.
127
- * Patch for rspec API changes
128
- * You can now reference an iframe using IE#frame(:id, 'whatever'). Jira 109
129
- * Added 'map' and 'area' element support.
130
- * Moved Watir::Assertions into new file watir/assertions.rb so they can be used outside test cases.
131
- * Fix and unit test for Jira 114, related to tag in HTML source.
132
- * Added SelectList#include? and SelectList#selected?
133
- * Added Element#visible?
134
- * Fixes all reported bugs with contains_text.
135
- * New Watir::TestCase#verify method (and verify_equal and verify_match).
136
- * The click_no_wait method now works in frames.
137
- * Released new IE.new_process method to 'watir/contrib/ie-new-process'. This starts up a new IE process for each IE window, which is really how it should be done. To close these use IE#kill. Any one getting intermittent RPC errors when opening windows may want to use this instead.
138
- * Several examples have been updated.
139
- * Moved enabled_popup to a new contrib directory.
140
- * Added several tests.
141
-
142
- Changes in 1.4
143
- fix method name for accessing class name of P/Span/Div (change from style to class_name)
144
- fix for bug 2152 (frame index in show_frames off by 1)
145
- added alt as a property to image
146
- added file_fields
147
- fixed TextArea#to_s
148
- moved reset button to buttons class
149
- add IE#send_keys
150
- frames can now be referenced using regexps and ids
151
- added IE#minimize, IE#maximize, IE#restore
152
- onChange and onBlur events now triggered by TextField#set
153
- added default option to set for checkbox
154
- added colspan method to tablecell
155
- fix for bug reported by Scott P, wrong objects are sometimes found
156
- fixed Bug with radio/checkboxes doing multiple fireevents
157
- fix for table, id and reg exp
158
- wait for page load before returning from IE.attach
159
- update to select_list -- new interface still in progress
160
- added .show method to iterators
161
- fix for flashing objects in table cells
162
- added flash for forms
163
- flash returns nil instead of the curious '10'
164
- removed ScreenCapture module from IE class
165
-
166
- Changes in 1.3.1
167
- Added P tag support
168
- Bug fix for images and links in frames using each
169
- Bug fixes for image#save
170
-
171
- Changes in 1.3
172
- added new row_values and column_value methods to tables
173
- added ability to save an image - ie.image(:index,1).save('c:\temp\mypic.gif')
174
- new method, html that applies to objects, not just a page - ie.button(:index,1).html => <INPUT id=b2 title="this is button1" onclick="javascript:document.location='pass.html';" type=button value="Click Me" name=b1>
175
- now throws a NavigationException on 404, 500 errors
176
- iterators now mixin Enumerable
177
- added support for labels
178
- added support for frames by index
179
- added screen_capture
180
- added hidden field support, and iterator method
181
- table cells, span and div now act as containers, so can do ie.div(:index,1).button(:index.2).click
182
- added index to print out from show_xx methods. Link shows img src if an image is used
183
- added onKeyUp and onKeyDown to text_fields#set
184
- installer now installs AutoIt to deal with javascript popups, file uploads etc
185
- the spinner is now off by default
186
- bug fix in text_fields iterator where it wasnt iterating through password or text ares. Added test for password fields
187
- bug fix for flash for tables
188
- bug fixes for images and links in cells
1
+ == Version 1.6.2
2
+
3
+ * Changed the method of setting Watir::Browser.default when the user does not
4
+ specify a browser option. This fixes the problem where it would be 'ie' on
5
+ Mac.
6
+
7
+ * Fixed FireWatir's "text" method to return the same character's as Watir's
8
+ method. It had been returning extra spaces and other characters.
9
+ Fix included contribution from Tony. Closes #266
10
+
11
+ * Fixed "activesupport" error. Users no longer need to have the latest version
12
+ installed.
13
+
14
+ == Version 1.6.1
15
+
16
+ * Fixed install/load errors reported by Marek J and Tony.
17
+
18
+ == Version 1.6.0
19
+
20
+ This release merges the Watir and FireWatir projects. It contains many
21
+ compatibility fixes,
22
+ as well as a new browser-independent interface your tests can use to allow you
23
+ to specify the browser at run time.
24
+
25
+ We have also updated our existing support for modal dialogs so that it now works
26
+ with Ruby 1.8.6. Users who have been using Ruby 1.8.2 because of this will now
27
+ need to upgrade to Ruby 1.8.6.
28
+
29
+ This release also contains many other fixes. Details below.
30
+
31
+ Watir and FireWatir are still distributed as separate gems. Installing the
32
+ Watir gem will automatically install FireWatir. Both gems now use common code
33
+ contained in the "commonwatir" gem.
34
+
35
+ This release is fully backwards compatible with previous versions of Watir and
36
+ FireWatir. Your existing scripts should continue to run without change.
37
+
38
+ === Installation
39
+
40
+ To install both Watir and FireWatir:
41
+
42
+ gem update --system
43
+ gem install watir
44
+
45
+ To only install FireWatir (e.g. on Mac or Linux)
46
+
47
+ gem update --system
48
+ gem install firewatir
49
+
50
+ To enable Firefox to work with Watir, you will also need to install the
51
+ JSSH plugin. See this page for details.
52
+ http://wiki.openqa.org/display/WTR/FireWatir+Installation#FireWatirInstallation-3%29InstalltheJSSHFirefoxExtension
53
+
54
+ === New Features
55
+ You can now replace references to Watir::IE.new (or FireWatir::Firefox.new)
56
+ with Watir::Browser.new to allow you to
57
+ specify which browser to run your tests against at run time. Details:
58
+ http://wiki.openqa.org/display/WTR/Browser.new
59
+
60
+ It takes two lines of code to allow Browser.new to support an additional Watir
61
+ implementation. The two lines necessary for SafariWatir (on Mac) are provided.
62
+ (See commonwatir/lib/watir/browsers.rb).
63
+
64
+ In addition to 'browser', options supported by Browser.new (on IE only right now)
65
+ are 'speed' and 'visible'.
66
+
67
+ Unit tests no longer run from the gems. You will need to get the source if you
68
+ want to run the unit tests.
69
+
70
+ === Compatibility Fixes
71
+ * FireWatir now raises Watir exceptions.
72
+ * FireWatir now supports multiple attributes for most page elements.
73
+ * Watir now supports multiple attributes for most page elements.
74
+ * Added support to FireWatir for many more element types.
75
+ * Added Radio#checked? and Checkbox#checked? methods to FireWatir.
76
+ * Now firefox.radio().set will click a radio button (as does IE) even if it
77
+ is already set. This is important if there is javascript attached to the
78
+ radio button.
79
+ * TextField#set now respects the maxlength of the field. Previously, FireWatir
80
+ could overrun the limit. FireWatir::TextField.maxlength now works correctly.
81
+ * Watir::SelectList#includes? and #selected now accept regexp arguments.
82
+ This functionality is still missing from FireWatir, but it is in Celerity.
83
+ From Jari Bakken. Fixes #261.
84
+ * FireWatir::Element#disabled is fixed.
85
+ * Added method Watir::Table#row_count_excluding_nested_tables. This works like
86
+ FireWatir::Table#row_count.
87
+ * Watir#wait_until is now available to FireWatir.
88
+ * Fixed versioning. With FireWatir 1.2.1, FireWatir::Firefox::VERSION
89
+ actually reported '1.1.1.'.
90
+ * FireWatir will now automatically starts Firefox on Mac (as it did previously
91
+ on Windows and Linux).
92
+
93
+ === IE Fixes
94
+ * Fix for: form field named "submit" causes "submit" method to not work.
95
+ Closes #223.
96
+ * Calling ie.radio().set now scrolls the page to the control, as with other
97
+ controls. Thanks to Jonathan Kohl for the fix. Closes #172.
98
+ * Fixed ie.speed, which was returning ":fast" when speed was actually ":zippy".
99
+ * Fix for visible? method not being inherited correctly. From Alan Baird.
100
+ Closes #253
101
+ * Added ie.forms method. Thanks to Jarmo P.
102
+ * Fix for "undefined method 'document'" error that was occuring when loading
103
+ pages with frames that were slow to load. Reported here:
104
+ http://groups.google.com/group/watir-general/browse_thread/thread/ddde6251e30588c9
105
+ * Fixed accessing checkboxes and radio buttons using :ole_object on IE.
106
+ Closes #217.
107
+
108
+ === Unit Test Improvements
109
+ * Unit tests no longer can be run from a gem install. Rather, you need to run them
110
+ from a complete source tree.
111
+ * New rake targets for Watir: test and cruise, each of which runs the core tests.
112
+ * Numerous fixes and cleanup to the unit test suite.
113
+ * The unit tests both both Watir and FireWatir now use the new Browser.new
114
+ interface and can be run
115
+ against either implementation (Watir::IE or FireWatir::Firefox or others for
116
+ that matter). See this page for details.
117
+ http://wiki.openqa.org/display/WTR/Running+Unit+Tests+in+Development
118
+ * Added tagging to unit tests. Tests which have known failures are now tagged
119
+ as ":fails_on_ie" or ":fails_on_firefox".
120
+ * Added coverage modes for running unit tests. These are documented on the wiki
121
+ page cited above.
122
+ * Updated tests that were still using obsolete Watir 1.0 interfaces.
123
+ * Started merging the Watir test suites into commonwatir.
124
+ * General test clean up.
125
+ * Test failures due to not setting IE security settings will now issue
126
+ helpful error message telling you how to fix your IE security settings.
127
+
128
+ === Structural Changes
129
+ * Moved library files into "lib" directories. Now Watir is like all the other
130
+ Ruby projects.
131
+ * Moved FireWatir classes into the FireWatir module.
132
+ * Removed examples. They are now on the wiki.
133
+ * Simplified code by removing duplication and unused code.
134
+ * The watir-console now works from the development tree.
135
+ * Renamed IE.defaults to IE.options and IE.defaults= to IE.set_options.
136
+ * Added top-level "rake gems" target. Only works on windows right now.
137
+
138
+
139
+ == Watir 1.5.6
140
+
141
+ To install this:
142
+
143
+ "gem update --system"
144
+ "gem install watir"
145
+
146
+ Installer Fix
147
+
148
+ This update fixes an installer problem in Watir 1.5.5 that affected some users.
149
+ If you installed 1.5.5 without error, there is no reason to get this update.
150
+
151
+ == Watir 1.5.5.
152
+
153
+ New Features
154
+
155
+ * Multiple attributes can now be specified for these elements:
156
+ li, ul, map, area, h1, h2, h3, h4, h5, h6. (This was claimed to work earlier,
157
+ but never did.)
158
+ http://jira.openqa.org/browse/WTR-196
159
+
160
+ Bug Fixes
161
+
162
+ * Statements such at ie.table().row() now work (no longer private).
163
+ http://jira.openqa.org/browse/WTR-117
164
+ * Fixed bug with images method when used with anything but ie. (Paul Rogers)
165
+ E.g. ie.div().images. http://jira.openqa.org/browse/WTR-211
166
+ * Fixed intermittent bug with ie.file_field().set. (Tomislav Car)
167
+ http://jira.openqa.org/browse/WTR-210
168
+ * When installing Watir 1.5.4 you could get extra, confusing
169
+ questions. This shouldn't happen anymore.
170
+ http://jira.openqa.org/browse/WTR-209
171
+ * Improved error message when element is not found using multiple attributes.
172
+ http://jira.openqa.org/browse/WTR-181
173
+ * Made examples and unit tests somewhat better examples: removed unnecessary
174
+ "include Watir" statements; started using "browser" instead of "$ie"; use
175
+ new methods 'goto_page' and 'uses_page' (this last improves performance of
176
+ unit tests).
177
+ http://jira.openqa.org/browse/WTR-159
178
+ * Moved brittle unit test that was causing cascading failures; renamed another
179
+ that was causing a namespace collision.
180
+ http://jira.openqa.org/browse/WTR-92
181
+
182
+ == Version 1.5.4
183
+
184
+ New Features
185
+
186
+ * Add new speed, :zippy. This is like fast, but, in effect, it does a TextField#value= instead of a TextField#set. If you have specific text fields that you never want this to happen to, use ie.text_field(:how, what).requires_typing.set instead.
187
+ http://svn.openqa.org/fisheye/changelog/watir/?cs=1295
188
+ * Add support for Chinese input as supplied by Vincent Xu.
189
+ http://jira.openqa.org/browse/WTR-71.
190
+
191
+ Bug Fixes
192
+
193
+ * Add dependency on windows-pr 0.6.6, which seems to be necessary on Vista.
194
+ * Fix for bug in IE.close_others provided by Paul Taylor.
195
+ http://jira.openqa.org/browse/WTR-194
196
+ * Fix for error when using verify_equal with ci_reporter, provided by Marcog.
197
+ http://svn.openqa.org/fisheye/changelog/watir/?cs=1301
198
+
199
+ == Version 1.5.3
200
+
201
+ Bug fixes and minor cleanup.
202
+
203
+ * Fix text areas bugs.
204
+ * Fix warning messages caused by redefined constants.
205
+ * Break out watir.rb into multiple files.
206
+ * Fix [WTR-90] error when running tests when installing gem.
207
+ http://jira.openqa.org/browse/WTR-90
208
+ * Fix tests.
209
+ * Update documentation.
210
+
211
+ Major Changes in 1.5.2
212
+ Support for IE's Modal Dialogs.
213
+ showModalDialog()
214
+ Any method can be used to specify an element (:text, :class, etc.).
215
+ ie.button(:class,'Button Menu').click
216
+ ie.div(:text, 'Type').text_field(:class, 'TextInput-input').set('my value')
217
+ ie.button(:text, 'Save').click
218
+ One can now use multiple attributes to specify an element.
219
+ ie.span(:class =>'Label', :text => 'Add new').click
220
+
221
+ Other Changes in 1.5.2
222
+ * Migrated IE.new_process from watir/contrib and improved its reliability. We now recommend IE.new_process over IE.new as a way to avoid numerous errors detailed in http://jira.openqa.org/browse/WTR-150.
223
+ * Added IE.start_process. This works like IE.start, but uses the new_process mechanism to start IE.
224
+ * Added IE.new_window and IE.start_window. This are synonyms for IE.new and IE.start.
225
+ * Added dependency on the win32-process gem.
226
+ * Added IE.each, which iterates through the various IE windows currently open.
227
+ * Updated WindowHelper and watir/dialog to work with IE7
228
+ * The wait method was completely rewritten. This should fix various errors seen in 1.5.1.1165 and 1.5.1.1158.
229
+ * Removed the "spinner".
230
+ * Fixed bug in Element#parent and updated unit test.
231
+ * HTML value attributes are checked as strings before converting, updated unit tests.
232
+ * Watir::wait_until clean up.
233
+ * Fix for winclicker when installed in directory with spaces.
234
+ * Rdoc changes and updates.
235
+ * A workaround for frame access errors in the wait command, swallowing access denied errors and rethrowing if other WIN32OLERuntimeErrors show up.
236
+ * Add support for "li" tag.
237
+ * Fix for bug in element_by_xpath. http://www.mail-archive.com/wtr-general@rubyforge.org/msg06742.html
238
+ * "Wait" method now is called recursively into nested frames. http://jira.openqa.org/browse/WTR-107
239
+ * Rdocs now only include the core Watir library (not contrib).
240
+ * Improve error reporting when IE#modal_dialog isn't found.
241
+ * Add method "ModalDialog#exists?"
242
+ * Add Watir::Win32.window_exists? method.
243
+ * Fix for winclicker setComboBoxTest and setTextBoxText http://jira.openqa.org/browse/WTR-124
244
+ * Improved Support for IE7
245
+ o Fix for IE7 on ie.exists? http://jira.openqa.org/browse/WTR-123
246
+ o Fix for IE7 with winclicker.
247
+ o Fix for check_for_http_error in IE7. http://jira.openqa.org/browse/WTR-141
248
+ * Fix for IE7 on ie.exists? http://jira.openqa.org/browse/WTR-123
249
+ * Rubyw is now used in winclicker to bypass command line windows.
250
+ * Autoit is registered before being used.
251
+ * Watir now checks for the right version of Ruby before loading our customized Win32ole library.
252
+ * ie.file_field has been fixed and unit test updated.
253
+ * rdoc generation has been fixed.
254
+ * page checker has been moved from the default behavior into contrib/page_checker.rb
255
+ * Fix for intermittent crashes occuring when using Watir with Ruby version > 1.8.2.
256
+ * Fix for http://jira.openqa.org/browse/WTR-86
257
+ This fix prevents the Watir-modified win32ole.so library (compiled against 1.8.2) from being used.
258
+ * Added Element#parent
259
+ * Add new methods Element#after? and Element#before?
260
+ * Added support for relative specifiers. E.g.:
261
+ link = $ie.link(:class => 'addtocart', :after? => @headline)
262
+ * Removed NAVIGATION_CHECKER from Watir.rb, added to contrib. This fixes rdoc generation and stops the frame access exception being thrown in the default installation.
263
+ * Open-code calls to def_creator, for easier debugging and rdoc generation of factory methods.
264
+ * Winclicker fix for too many callbacks defined error.
265
+ * Patch for rspec API changes
266
+ * You can now reference an iframe using IE#frame(:id, 'whatever'). Jira 109
267
+ * Added 'map' and 'area' element support.
268
+ * Moved Watir::Assertions into new file watir/assertions.rb so they can be used outside test cases.
269
+ * Fix and unit test for Jira 114, related to tag in HTML source.
270
+ * Added SelectList#include? and SelectList#selected?
271
+ * Added Element#visible?
272
+ * Fixes all reported bugs with contains_text.
273
+ * New Watir::TestCase#verify method (and verify_equal and verify_match).
274
+ * The click_no_wait method now works in frames.
275
+ * Released new IE.new_process method to 'watir/contrib/ie-new-process'. This starts up a new IE process for each IE window, which is really how it should be done. To close these use IE#kill. Any one getting intermittent RPC errors when opening windows may want to use this instead.
276
+ * Several examples have been updated.
277
+ * Moved enabled_popup to a new contrib directory.
278
+ * Added several tests.
279
+
280
+ Changes in 1.4
281
+ fix method name for accessing class name of P/Span/Div (change from style to class_name)
282
+ fix for bug 2152 (frame index in show_frames off by 1)
283
+ added alt as a property to image
284
+ added file_fields
285
+ fixed TextArea#to_s
286
+ moved reset button to buttons class
287
+ add IE#send_keys
288
+ frames can now be referenced using regexps and ids
289
+ added IE#minimize, IE#maximize, IE#restore
290
+ onChange and onBlur events now triggered by TextField#set
291
+ added default option to set for checkbox
292
+ added colspan method to tablecell
293
+ fix for bug reported by Scott P, wrong objects are sometimes found
294
+ fixed Bug with radio/checkboxes doing multiple fireevents
295
+ fix for table, id and reg exp
296
+ wait for page load before returning from IE.attach
297
+ update to select_list -- new interface still in progress
298
+ added .show method to iterators
299
+ fix for flashing objects in table cells
300
+ added flash for forms
301
+ flash returns nil instead of the curious '10'
302
+ removed ScreenCapture module from IE class
303
+
304
+ Changes in 1.3.1
305
+ Added P tag support
306
+ Bug fix for images and links in frames using each
307
+ Bug fixes for image#save
308
+
309
+ Changes in 1.3
310
+ added new row_values and column_value methods to tables
311
+ added ability to save an image - ie.image(:index,1).save('c:\temp\mypic.gif')
312
+ new method, html that applies to objects, not just a page - ie.button(:index,1).html => <INPUT id=b2 title="this is button1" onclick="javascript:document.location='pass.html';" type=button value="Click Me" name=b1>
313
+ now throws a NavigationException on 404, 500 errors
314
+ iterators now mixin Enumerable
315
+ added support for labels
316
+ added support for frames by index
317
+ added screen_capture
318
+ added hidden field support, and iterator method
319
+ table cells, span and div now act as containers, so can do ie.div(:index,1).button(:index.2).click
320
+ added index to print out from show_xx methods. Link shows img src if an image is used
321
+ added onKeyUp and onKeyDown to text_fields#set
322
+ installer now installs AutoIt to deal with javascript popups, file uploads etc
323
+ the spinner is now off by default
324
+ bug fix in text_fields iterator where it wasnt iterating through password or text ares. Added test for password fields
325
+ bug fix for flash for tables
326
+ bug fixes for images and links in cells