== Version 1.8.1 - 2011/04/07 === IE improvements * Added #frames method (Ivan Kabluchkov). * Added Frame#exists?, #src, #name and other Element methods (Ivan Kabluchkov). * Added multiple locators support for #frame method (Ivan Kabluchkov). * Added *_no_wait methods (Ivan Kabluchkov). === Firefox improvements * Nothing === General improvements * Using Watir::Util for better compatibility with ActiveSupport used by Rails 3. Closes http://jira.openqa.org/browse/WTR-474 (Jarmo Pertman) == Version 1.8.0 - 2011/28/02 === IE improvements * Improved speed of #click_no_wait by not loading RubyGems (Jarmo Pertman) * Added check to maxlength so we don't clobber any incoming js events. (Charley Baker) === Firefox improvements * Removed dependency for ActiveSupport, making it possible to use FireWatir with Rails 3 (Jarmo Pertman) * Removed :waitTime option and try to handle better firefox startup (Jarmo Pertman) * Added #exists? with alias #exist? to FireWatir::Firefox browser object (Jarmo Pertman) == Version 1.7.1 - 2011/01/10 === IE improvements * Fixed Watir::IE.start_process/new_process. Doesn't completely close http://jira.openqa.org/browse/WTR-472 (Jarmo Pertman) === Firefox improvements - Nothing Whole Changelog is available at http://github.com/bret/watir/compare/v1.7.1...v1.7.0 == Version 1.7.0 - 2011/01/06 === IE improvements * Fixed Watir::IE#close_all to close all IE windows, even the ones with tabs. Closes http://jira.openqa.org/browse/WTR-463 (Jarmo Pertman) * IE#wait waits now again until browser has a state of READYSTATE_COMPLETE due to strange timing issues. Closes http://jira.openqa.org/browse/WTR-466 (Jarmo Pertman) * Added CSS3 selectors with usage like browser.text_field(:css => "input[name='text1']") (Jonas Tingeborn) * Updated bundled version of AutoIt to 3.3.6.1. Closes http://jira.openqa.org/browse/WTR-440 (Jarmo Pertman) Note: If you want to use this version of AutoIt, you'll need to manually uninstall all previously installed Watir and possibly manually installed AutoIt versions first. When you run your Watir scripts, it will automatically install and use the new version. === Firefox improvements * Fixed Element#exists? for cases where nested elements were used for locating (Alok Menghrajani) * Ignore uppercase tags in XHTML when searching for elements (Alok Menghrajani) === General improvements * Return Element#id correctly when using Element#when_present and friends methods. Closes http://jira.openqa.org/browse/WTR-469 (Jarmo Pertman) Whole Changelog is available at http://github.com/bret/watir/compare/v1.6.7...v1.7.0 == Version 1.6.7 - 2010/10/26 === General improvements * added new waiting methods for Watir::Element: #when_present, #wait_until_present and #wait_while_present (Jari Bakken and Jarmo Pertman) * added new waiting methods for Watir::IE and Watir::Firefox: #wait_until and #wait_while (Jari Bakken and Jarmo Pertman) * added method #present? for Watir::Element (Jari Bakken and Jarmo Pertman) * deprecated old waiting methods in Watir::Waiter which will be removed in some future version - use Watir::Wait instead (Jarmo Pertman) === IE improvements * removed Watir::Simple (Željko Filipin) * #click_no_wait was not working with frame elements. Closes http://jira.openqa.org/browse/WTR-459 (Jarmo Pertman) === Firefox improvements * get_attribute_value now works with attributes named something like "foo-bar" (Alan Shields) === Cleanup & Maintenance * cleaned up repo at GitHub * merge licenses into one (Željko Filipin) * Rakefile works now under non-Windows systems too (Alan Shields) * Removed datahandler.rb Whole Changelog is available at http://github.com/bret/watir/compare/v1.6.6...v1.6.7 == Version 1.6.6 - 2010/10/2 === IE improvements * #elements_by_xpath uses now Nokogiri's xpath method instead of search (Matt Baker) * Element#style returns now currentStyle. Closes http://jira.openqa.org/browse/WTR-444 (Jarmo Pertman) * Element#visible? doesn't return false anymore for disabled elements (Charley Baker) * TH elements texts are included into Table#to_a results. Closes http://jira.openqa.org/browse/WTR-445 (Jarmo Pertman) * Added TableRow#to_a method which returns an array of the texts of the cells for the table row. Closes http://jira.openqa.org/browse/WTR-445 (Jarmo Pertman) * Added an optional numeric parameter max_depth for Table#to_a and TableRow#to_a for getting text values for nested tables. Closes http://jira.openqa.org/browse/WTR-445 (Jarmo Pertman) * #close will close the browser even if #wait raises an Exception. Closes http://jira.openqa.org/browse/WTR-443 (Jarmo Pertman) * Added #element and #elements methods for locating non-specific elements. Closes http://jira.openqa.org/browse/WTR-103 (Hugh McGowan) * #click_no_wait fixes and improvements. Closes http://jira.openqa.org/browse/WTR-320 and http://jira.openqa.org/browse/WTR-449 (Jarmo Pertman) * #wait will raise a Timeout::Error if page hasn't been loaded within 5 minutes. Closes http://jira.openqa.org/browse/WTR-452 (Bret) * Fixed a problem when #wait blocked forever. Closes http://jira.openqa.org/browse/WTR-446 (Jarmo Pertman) === Firefox improvements * Added close_all method to firefox. Closes http://jira.openqa.org/browse/WTR-222 (Angrez) * Fixed status method for firefox. (Angrez) * Fixed url method for firefox. Closes http://jira.openqa.org/browse/WTR-428 (Alister Scott) * Added JRuby support (Ian Dees) * Forcing to use ActiveSupport 2.3.9 due to incompatibilities with newer versions (Jarmo Pertman) === Cleanup & Maintenance * Some rdoc cleanup (marekj) * README changes (Željko Filipin) * Removed Watir::Utils (Jarmo Pertman) * It is now possible to execute unit-tests within gems with `rake test` (Jarmo Pertman) * Don't output unnecessary information to stdout in FireWatir unit-tests (Željko Filipin) * Update the 3 gem projects to each use the common readme file (Bret) Whole Changelog is available at http://github.com/bret/watir/compare/v1.6.5...v1.6.6 == Version 1.6.5 Charley Baker was release manager for this release of Watir. === New Features (Both IE and Firefox) * Browser.attach is now available. * Browser.options and Browser.set_options are now available. * Add support for definition lists, this adds these methods: dd, dt, dl, dds, dts, dls. (Jarib) * Added support for "visible?" method to both IE and Firefox. Closes http://jira.openqa.org/browse/WTR-262 (Tony) * Hidden#visible? should always return false. (Jarib) * New method execute_script. * Add ElementCollections#size as alias of length. (Jarib) * Some camelCase => snake_case renames (with aliasing). (Jarib) Image#fileCreatedDate => file_created_date Image#fileSize => file_size Image#hasLoaded? => loaded? SelectList#getAllContents => options SelectList#getSelectedItems => selected_options SelectList#clearSelection => clear SelectList#includes? => include? TextField#dragContentsTo => drag_contents_to Radio/Checkbox#isSet? => set? * Patch for winclicker fix. http://jira.openqa.org/browse/WTR-279 (Derek Berner) * Add support for using a Regexp as the third argument (value) when locating checkboxes/radio buttons. (Jarib) * Add support for element. (Jarib) * Add support and tests for element. (Jarib) * SelectList#select now supports Numeric arguments. (Jarib) * Additional inspect implementations for both IE and FF. Closes http://jira.openqa.org/browse/WTR-158 (Jarib) * Add ElementCollections#{first,last}. (Jarib) * Fixes for running on Ruby 1.9. (Jarib) === Firefox Improvements * SelectList#set is now defined for Firefox. Like with IE, it is an alias for SelectList#select. Closes http://jira.openqa.org/browse/WTR-271 (Bret) * Element collections are now enumerable. This allows methods such as @select@ and @map@ to be used with methods such as @divs@ and @links@. * FireWatir.attach is now available, analogous to IE.attach. Includes http://jira.openqa.org/browse/WTR-296 * Some Javascript errors that were being ignored, now raise Ruby exceptions. * Added event handler which resets the context of document * Fix bug that occurred when new page was automatically loaded. (Angrez, 3ef8b6) when page gets loaded automatically (Angrez) * Changed code to use document_var, body_var, window_var, browser_var instead of "document", "body", "window", "browser" variables. (Angrez) * Changed code to replace every quote (") in xpath query with (\") so that it doesn't give error while executing the xpath query (Angrez) * Fire onchange event for FireWatir file fields. Closes http://jira.openqa.org/browse/WTR-286. (Jarib) * Fixes for running and closing Firefox on Mac OS X http://jira.openqa.org/browse/WTR-272 (Jarib) * Added functionality to allow Watir::Browser.attach with no arguments to open a new firefox window rather than taking over the existing focused window (Rob Aldred) * Also modified some setup functions to correctly handle closed browsers, browserless windows and others (Rob Aldred) * Add test and implementation for Firefox#status http://jira.openqa.org/browse/WTR-250 (Jarib) * 2 problems fixed with .click (jubishop) a) When chaining together element calls the @container becomes an HTMLElement, but there's no container_var defined for HTMLElement b) When an 5.0 This was previously available as class method. * Fix for Autoit auto-registration. (Bret) * Fixes http://jira.openqa.org/browse/WTR-290, http://jira.openqa.org/browse/WTR-308, http://jira.openqa.org/browse/WTR-298 * Fix for IE6, 7 and 8 file uploads. (Zeljko Filipin & Jarmo Pertman) * Replaced REXML with Nokogiri for xml parsing. Fixes http://jira.openqa.org/browse/WTR-19 (Aidy Lewis) * Option now supports :label attribute http://jira.openqa.org/browse/WTR-297 * Patch for IE.close causing WIN32OLE errors http://jira.openqa.org/browse/WTR-304 (Tony) * Watir::IE.inspect issue fixed: http://jira.openqa.org/browse/WTR-180 (Jarib) * Fix for Browser#execute_script on IE7. (Jarib) * Removed ActiveSupport dependency. (Jarib) * Fix Browser#status so it works even when the status bar is not visible. (Bret) * Fix bug when using "each" with nested tables. http://jira.openqa.org/browse/WTR-324 (Alan Baird) * Now uses UTF-8 codepage by default http://jira.openqa.org/browse/WTR-219 (Jarib) === Structure Improvements * Lots of rework of the FireWatir code, including removing duplication and dead code, renaming variables, and simplifying code. Also a few performance improvements. (Bret & Charley) * Rename source file names for consistency. === Unit Tests * Add tests demonstrating known bugs. * Make the "window" tests run more reliably. (Bret) * Relocate unreliable tests. (Bret) * Tag tests that are known to fail on IE or Firefox. * Fixed one test that was failing on non-English platforms. (Jarib) * New Rake task (:test) runs all tests. (Jim Matthews) * Use ci_reporter to provide more detailed test results for watirbuild.com. Use xls transform to format results. (Jim Matthews) * Add WatirSpec submodule + load it in Rakefile if available. (Jarib) == Version 1.6.2 * Changed the method of setting Watir::Browser.default when the user does not specify a browser option. This fixes the problem where it would be 'ie' on Mac. * Fixed FireWatir's "text" method to return the same character's as Watir's method. It had been returning extra spaces and other characters. Fix included contribution from Tony. Closes #266 * Fixed "activesupport" error. Users no longer need to have the latest version installed. == Version 1.6.1 * Fixed install/load errors reported by Marek J and Tony. == Version 1.6.0 This release merges the Watir and FireWatir projects. It contains many compatibility fixes, as well as a new browser-independent interface your tests can use to allow you to specify the browser at run time. We have also updated our existing support for modal dialogs so that it now works with Ruby 1.8.6. Users who have been using Ruby 1.8.2 because of this will now need to upgrade to Ruby 1.8.6. This release also contains many other fixes. Details below. Watir and FireWatir are still distributed as separate gems. Installing the Watir gem will automatically install FireWatir. Both gems now use common code contained in the "commonwatir" gem. This release is fully backwards compatible with previous versions of Watir and FireWatir. Your existing scripts should continue to run without change. === Installation To install both Watir and FireWatir: gem update --system gem install watir To only install FireWatir (e.g. on Mac or Linux) gem update --system gem install firewatir To enable Firefox to work with Watir, you will also need to install the JSSH plugin. See this page for details. http://wiki.openqa.org/display/WTR/FireWatir+Installation#FireWatirInstallation-3%29InstalltheJSSHFirefoxExtension === New Features You can now replace references to Watir::IE.new (or FireWatir::Firefox.new) with Watir::Browser.new to allow you to specify which browser to run your tests against at run time. Details: http://wiki.openqa.org/display/WTR/Browser.new It takes two lines of code to allow Browser.new to support an additional Watir implementation. The two lines necessary for SafariWatir (on Mac) are provided. (See commonwatir/lib/watir/browsers.rb). In addition to 'browser', options supported by Browser.new (on IE only right now) are 'speed' and 'visible'. Unit tests no longer run from the gems. You will need to get the source if you want to run the unit tests. === Compatibility Fixes * FireWatir now raises Watir exceptions. * FireWatir now supports multiple attributes for most page elements. * Watir now supports multiple attributes for most page elements. * Added support to FireWatir for many more element types. * Added Radio#checked? and Checkbox#checked? methods to FireWatir. * Now firefox.radio().set will click a radio button (as does IE) even if it is already set. This is important if there is javascript attached to the radio button. * TextField#set now respects the maxlength of the field. Previously, FireWatir could overrun the limit. FireWatir::TextField.maxlength now works correctly. * Watir::SelectList#includes? and #selected now accept regexp arguments. This functionality is still missing from FireWatir, but it is in Celerity. From Jari Bakken. Fixes #261. * FireWatir::Element#disabled is fixed. * Added method Watir::Table#row_count_excluding_nested_tables. This works like FireWatir::Table#row_count. * Watir#wait_until is now available to FireWatir. * Fixed versioning. With FireWatir 1.2.1, FireWatir::Firefox::VERSION actually reported '1.1.1.'. * FireWatir will now automatically starts Firefox on Mac (as it did previously on Windows and Linux). === IE Fixes * Fix for: form field named "submit" causes "submit" method to not work. Closes #223. * Calling ie.radio().set now scrolls the page to the control, as with other controls. Thanks to Jonathan Kohl for the fix. Closes #172. * Fixed ie.speed, which was returning ":fast" when speed was actually ":zippy". * Fix for visible? method not being inherited correctly. From Alan Baird. Closes #253 * Added ie.forms method. Thanks to Jarmo P. * Fix for "undefined method 'document'" error that was occuring when loading pages with frames that were slow to load. Reported here: http://groups.google.com/group/watir-general/browse_thread/thread/ddde6251e30588c9 * Fixed accessing checkboxes and radio buttons using :ole_object on IE. Closes #217. === Unit Test Improvements * Unit tests no longer can be run from a gem install. Rather, you need to run them from a complete source tree. * New rake targets for Watir: test and cruise, each of which runs the core tests. * Numerous fixes and cleanup to the unit test suite. * The unit tests both both Watir and FireWatir now use the new Browser.new interface and can be run against either implementation (Watir::IE or FireWatir::Firefox or others for that matter). See this page for details. http://wiki.openqa.org/display/WTR/Running+Unit+Tests+in+Development * Added tagging to unit tests. Tests which have known failures are now tagged as ":fails_on_ie" or ":fails_on_firefox". * Added coverage modes for running unit tests. These are documented on the wiki page cited above. * Updated tests that were still using obsolete Watir 1.0 interfaces. * Started merging the Watir test suites into commonwatir. * General test clean up. * Test failures due to not setting IE security settings will now issue helpful error message telling you how to fix your IE security settings. === Structural Changes * Moved library files into "lib" directories. Now Watir is like all the other Ruby projects. * Moved FireWatir classes into the FireWatir module. * Removed examples. They are now on the wiki. * Simplified code by removing duplication and unused code. * The watir-console now works from the development tree. * Renamed IE.defaults to IE.options and IE.defaults= to IE.set_options. * Added top-level "rake gems" target. Only works on windows right now. == Watir 1.5.6 To install this: "gem update --system" "gem install watir" Installer Fix This update fixes an installer problem in Watir 1.5.5 that affected some users. If you installed 1.5.5 without error, there is no reason to get this update. == Watir 1.5.5. New Features * Multiple attributes can now be specified for these elements: li, ul, map, area, h1, h2, h3, h4, h5, h6. (This was claimed to work earlier, but never did.) http://jira.openqa.org/browse/WTR-196 Bug Fixes * Statements such at ie.table().row() now work (no longer private). http://jira.openqa.org/browse/WTR-117 * Fixed bug with images method when used with anything but ie. (Paul Rogers) E.g. ie.div().images. http://jira.openqa.org/browse/WTR-211 * Fixed intermittent bug with ie.file_field().set. (Tomislav Car) http://jira.openqa.org/browse/WTR-210 * When installing Watir 1.5.4 you could get extra, confusing questions. This shouldn't happen anymore. http://jira.openqa.org/browse/WTR-209 * Improved error message when element is not found using multiple attributes. http://jira.openqa.org/browse/WTR-181 * Made examples and unit tests somewhat better examples: removed unnecessary "include Watir" statements; started using "browser" instead of "$ie"; use new methods 'goto_page' and 'uses_page' (this last improves performance of unit tests). http://jira.openqa.org/browse/WTR-159 * Moved brittle unit test that was causing cascading failures; renamed another that was causing a namespace collision. http://jira.openqa.org/browse/WTR-92 == Version 1.5.4 New Features * 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. http://svn.openqa.org/fisheye/changelog/watir/?cs=1295 * Add support for Chinese input as supplied by Vincent Xu. http://jira.openqa.org/browse/WTR-71. Bug Fixes * Add dependency on windows-pr 0.6.6, which seems to be necessary on Vista. * Fix for bug in IE.close_others provided by Paul Taylor. http://jira.openqa.org/browse/WTR-194 * Fix for error when using verify_equal with ci_reporter, provided by Marcog. http://svn.openqa.org/fisheye/changelog/watir/?cs=1301 == Version 1.5.3 Bug fixes and minor cleanup. * Fix text areas bugs. * Fix warning messages caused by redefined constants. * Break out watir.rb into multiple files. * Fix [WTR-90] error when running tests when installing gem. http://jira.openqa.org/browse/WTR-90 * Fix tests. * Update documentation. Major Changes in 1.5.2 Support for IE's Modal Dialogs. showModalDialog() Any method can be used to specify an element (:text, :class, etc.). ie.button(:class,'Button Menu').click ie.div(:text, 'Type').text_field(:class, 'TextInput-input').set('my value') ie.button(:text, 'Save').click One can now use multiple attributes to specify an element. ie.span(:class =>'Label', :text => 'Add new').click Other Changes in 1.5.2 * 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. * Added IE.start_process. This works like IE.start, but uses the new_process mechanism to start IE. * Added IE.new_window and IE.start_window. This are synonyms for IE.new and IE.start. * Added dependency on the win32-process gem. * Added IE.each, which iterates through the various IE windows currently open. * Updated WindowHelper and watir/dialog to work with IE7 * The wait method was completely rewritten. This should fix various errors seen in 1.5.1.1165 and 1.5.1.1158. * Removed the "spinner". * Fixed bug in Element#parent and updated unit test. * HTML value attributes are checked as strings before converting, updated unit tests. * Watir::wait_until clean up. * Fix for winclicker when installed in directory with spaces. * Rdoc changes and updates. * A workaround for frame access errors in the wait command, swallowing access denied errors and rethrowing if other WIN32OLERuntimeErrors show up. * Add support for "li" tag. * Fix for bug in element_by_xpath. http://www.mail-archive.com/wtr-general@rubyforge.org/msg06742.html * "Wait" method now is called recursively into nested frames. http://jira.openqa.org/browse/WTR-107 * Rdocs now only include the core Watir library (not contrib). * Improve error reporting when IE#modal_dialog isn't found. * Add method "ModalDialog#exists?" * Add Watir::Win32.window_exists? method. * Fix for winclicker setComboBoxTest and setTextBoxText http://jira.openqa.org/browse/WTR-124 * Improved Support for IE7 o Fix for IE7 on ie.exists? http://jira.openqa.org/browse/WTR-123 o Fix for IE7 with winclicker. o Fix for check_for_http_error in IE7. http://jira.openqa.org/browse/WTR-141 * Fix for IE7 on ie.exists? http://jira.openqa.org/browse/WTR-123 * Rubyw is now used in winclicker to bypass command line windows. * Autoit is registered before being used. * Watir now checks for the right version of Ruby before loading our customized Win32ole library. * ie.file_field has been fixed and unit test updated. * rdoc generation has been fixed. * page checker has been moved from the default behavior into contrib/page_checker.rb * Fix for intermittent crashes occuring when using Watir with Ruby version > 1.8.2. * Fix for http://jira.openqa.org/browse/WTR-86 This fix prevents the Watir-modified win32ole.so library (compiled against 1.8.2) from being used. * Added Element#parent * Add new methods Element#after? and Element#before? * Added support for relative specifiers. E.g.: link = $ie.link(:class => 'addtocart', :after? => @headline) * 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. * Open-code calls to def_creator, for easier debugging and rdoc generation of factory methods. * Winclicker fix for too many callbacks defined error. * Patch for rspec API changes * You can now reference an iframe using IE#frame(:id, 'whatever'). Jira 109 * Added 'map' and 'area' element support. * Moved Watir::Assertions into new file watir/assertions.rb so they can be used outside test cases. * Fix and unit test for Jira 114, related to tag in HTML source. * Added SelectList#include? and SelectList#selected? * Added Element#visible? * Fixes all reported bugs with contains_text. * New Watir::TestCase#verify method (and verify_equal and verify_match). * The click_no_wait method now works in frames. * 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. * Several examples have been updated. * Moved enabled_popup to a new contrib directory. * Added several tests. Changes in 1.4 fix method name for accessing class name of P/Span/Div (change from style to class_name) fix for bug 2152 (frame index in show_frames off by 1) added alt as a property to image added file_fields fixed TextArea#to_s moved reset button to buttons class add IE#send_keys frames can now be referenced using regexps and ids added IE#minimize, IE#maximize, IE#restore onChange and onBlur events now triggered by TextField#set added default option to set for checkbox added colspan method to tablecell fix for bug reported by Scott P, wrong objects are sometimes found fixed Bug with radio/checkboxes doing multiple fireevents fix for table, id and reg exp wait for page load before returning from IE.attach update to select_list -- new interface still in progress added .show method to iterators fix for flashing objects in table cells added flash for forms flash returns nil instead of the curious '10' removed ScreenCapture module from IE class Changes in 1.3.1 Added P tag support Bug fix for images and links in frames using each Bug fixes for image#save Changes in 1.3 added new row_values and column_value methods to tables added ability to save an image - ie.image(:index,1).save('c:\temp\mypic.gif') new method, html that applies to objects, not just a page - ie.button(:index,1).html => now throws a NavigationException on 404, 500 errors iterators now mixin Enumerable added support for labels added support for frames by index added screen_capture added hidden field support, and iterator method table cells, span and div now act as containers, so can do ie.div(:index,1).button(:index.2).click added index to print out from show_xx methods. Link shows img src if an image is used added onKeyUp and onKeyDown to text_fields#set installer now installs AutoIt to deal with javascript popups, file uploads etc the spinner is now off by default bug fix in text_fields iterator where it wasnt iterating through password or text ares. Added test for password fields bug fix for flash for tables bug fixes for images and links in cells