History.txt

Path: History.txt
Last Update: Tue May 24 11:07:35 -0400 2011

0.7.3 / 2011-01-01

  • Minor enhancements
    • Use Selenium‘s eval_css to work with cssQuery and Sizzle (Santiago Suarez Ordoñez)

0.7.2 / 2010-10-19

  • TODO: Fill in from git history

0.7.1 / 2010-04-26

  • Minor enhancements
    • Move verbose selenium output that can clutter build output behind setting
    • Added application_port_for_selenium to webrat configuration. The use case is when you want to test through a web server sitting in front of your application server. (Luke Melia)
    • New webrat configuration option selenium_firefox_profile which is passed to selenium server
    • Allow submit_form to select by CSS too (Damian Janowski)
  • Bug fixes
    • Fix that current_url wasn‘t reflecting redirects in Mechanize [332] (Emrys Ingersoll)
    • Fix attach_file with nested params [341] (Álvaro Gil)
    • Fix that a 304 was considered a redirect (Larry Marburger)
    • Fix selection of LABEL elements in Selenium mode under IE [317] (Damian Janowski, Noah Davis)
    • Fix have_xpath not matching negative expectation in the block [182] (Luismi Cavallé)

0.7.0 / 2010-01-17

  • Major enhancements
    • Upgrade bundled Selenium server JAR to 2.0a1 (Henry Poydar and Jake Scruggs)
  • Minor enhancements
    • Save and open page directory specified via configuration, defaults to tmp dir otherwise current dir (Noah Davis)
  • Bug fixes
    • Added missing dependency "rack-test" to gemspec (LH 339) (Noah Davis)
    • Removed save_and_open_page‘s rewriting of static asset paths before saving (was not actually working) (Noah Davis)
    • Make "should contain" ignore extra whitespace when doing string comparisons (Noah Davis)
    • Make selenium matchers handle negative match more consistently with positive match (Luke Melia)

0.6.0 / 2009-11-28

REMOVED: Support for Hpricot + REXML as an alternative to Nokogiri.

  Hpricot and REXML were difficult to work with, REXML is terribly slow,
  and Nokogiri is recommended even by the author of Hpricot (_why). Now
  that Nokogiri works on JRuby, Webrat is going to use it as its sole
  XML backend.

CHANGED: Due to a reorganization, if you‘re currently requiring "webrat/rspec-rails",

  please change your code to require "webrat/integrations/rspec-rails"
  • Minor enhancements
    • Support Rails 2.3.4 JavaScript form authenticity tokens in simulated mode (Jonathan Weiss)
    • When a timeout occurs in wait_for, include the HTML from Selenium in the exception
    • Update the Merb support to be based directly on Rack (Simon Rozet)
    • Support multiple select fields (Kieran P)
    • When locating select options, always match against text, not HTML
  • Bug fixes
    • Remove newlines from HTTP Basic authentication credentials (Michael Klett)
    • Require nokogiri form rspec-rails.rb (David Chelimsky)
    • Fix logger issue when running inside Cucumber (Damian Janowski)
    • Fix various issues related to submitting values with HTML entities (Kieran P)
    • Call to_i on the :count option in matchers (Michael Christenson II)
    • Fix bug where multiline param values were getting truncated

0.5.3 / 2009-08-27

  • Minor enhancements
    • Remove unnecessary requires which are to the wrong paths on Edge Rails

0.5.1 / 2009-08-18

  • Minor enhancements
    • Base Webrat::MIME on Rack::Mime (Simon Rozet)
    • Support file uploads in Rack mode (Simon Rozet)
  • Bug fixes
    • Fix bug in Webrat::Methods preventing Selenium mode from working [277]

0.5.0 / 2009-08-12

  • Major enhancements
    • Depreacate :rack_test and :sinatra in favor of :rack, which uses Rack::Test (Simon Rozet)
  • Minor enhancements
    • Don‘t require rubygems at runtime (Simon Rozet)

0.4.5 / 2009-08-10

  • Major enhancements
    • Ruby 1.9 compatibility (Michael Fellinger, Jakub Kuźma)
    • Improve performance (~2x) on JRuby by supporting Nokogiri
    • Added support for external app servers in selenium mode (basically don‘t start one) (Mike Gaffney)
    • Added support for uploading files for Merb (Ryan Carver)
  • Minor enhancements
    • Upgrade to selenium-client to 1.2.16 (Brian Landau)
    • Upgrade selenium-server.jar to 1.0.1 (Brian Landau)
    • Make redirect detection work in the face of rational maths (like when ruby-units is active) (Piers Cawley)
    • Use Launchy to handle opening pages in the browser with cross-platform compatibility (Bryan Helmkamp)
    • Added support for field_labeled_locators ending in non word characters lh 148 (Zach Dennis)
    • Filled in tests on click link lh 195 (diabolo)
    • Added current_url to selenium session lh 215 (Luke Amdor)
    • Added silence spec to selenium lh 238 (Martin Gamsjaeger aka snusnu)
    • Added ability to configure the browser startup timeout for selenium lh 242 (Mike Gaffney, Mark Dodwell)
    • Added delegation for field_named lh194 (pivotal labs)
    • Added fix to keep from escaping field values in mechanize mode lh256 (jish)
    • Adding fixes for click button/link and made the integration specs pass for the same in selenium lh254 (Ldiehl, Matthias Marschall)
    • Adding clicking link by id in selenium mode lh221 (larrytheliquid)
    • Adding fix for have_selector and have_xpath in descendent blocks lh234 (Thomas Jack)
    • Adding fix for fields with labels with special characters (Thomas Jack, Mike Gaffney, Bryan Hemlkamp)
    • Deprecated current_page lh50 (Mike Gaffney)
    • Fixed issue with redirects and multiple hosts lh168 (Mutwin Kraus)
  • Bug fixes
    • Wait for application servers socket on 0.0.0.0 instead of the application_address
    • Translate CSS and image paths with single quotes in save_and_open_page (Erin Staniland)

0.4.4 / 2009-04-06

  • Major enhancements
    • Make selenium process management code more robust and informative
  • Minor enhancements
    • Add support for Rails javascript post links (Mark Menard)
    • Upgrade selenium-client dependency to 1.2.14, and update for new waiting API (Balint Erdi)
    • Change default app environment from "selenium" to "test"
  • Bug fixes
    • Don‘t create a new instance of WWW::Mechanize for each request (Mark Menard)
    • Select fields with duplicate selected options sent an incorrect value (Noah Davis)

0.4.3 / 2009-03-17

  • Minor enhancements
    • Support Rails 2.3. Use Rack::Utils to parse params (Matthew Ford)
    • Support for "modular" Sinatra app style (Simon Rozet)
    • Initial Merb and Sinatra compatibility for Selenium mode (Corey Donohoe)
    • When faced with a label with no for attribute, that contains a hidden field and another field, as can be the case in Rails 2.3‘s checkbox view, webrat now locates the non-hidden field. (Luke Melia)
    • Add application_framework config for Selenium mode to determine how to start and stop the app server (Corey Donohoe)
  • Bug fixes
    • Fix following of absolute redirect URL in Sinatra (Simon Rozet)

0.4.2 / 2009-02-24

  • Major enhancements
    • Significant improvements to have_selector. It now supports specifying attributes in a hash and :count and :content options. See have_selector_spec.rb for more.
    • Add the same functionality mentioned above to have_xpath
  • Minor enhancements
    • Squeeze extra whitespace out of failures messages from contain matcher
    • Detect infinite redirects and raise a Webrat::InfiniteRedirectError (Daniel Lucraft)
  • Bug fixes
    • Properly quote single and double quotes strings in XPath
    • Fix warning caused by Nokogiri deprecating CSS::Parser.parse (Aaron Patterson)
    • Accept do/end blocks in matchers. [157] (Peter Jaros)
    • Quote —chdir option to mongrel_rails to support RAILS_ROOTs with spaces (T.J. VanSlyke)

0.4.1 / 2009-01-31

  • Minor enhancements
    • Support Sinatra 0.9 (Harry Vangberg)
    • Update query param parsing to work with latest Edge Rails
    • Added redirected_to method to easily check where an external redirect was redirected to (Adam Greene)
    • Recognize input tags with type button (Lena Herrmann)
    • Add uncheck method to Selenium mode (Lee Bankewitz)
  • Bug fixes
    • Make requests to a Rails app using a full URL instead of a relative path. This change is helpful for Rails apps that use subdomains. (John Hwang and Zach Dennis)
    • Follow redirects that are on the same domain but a different subdomain (Adam Greene)
    • rescue from Webrat::TimeoutError in selenium matchers which allows NegativeMatchers to behave correctly (Noah Davis)
    • Switch to using selenium.click instead of .check when checking a checkbox (Noah Davis)
    • Create tmp/pids directory if directory does not exist. (Amos King and Mike Gaffney)
    • Setup deprecated writers for the selenium_environment= and selenium_port= config
    • Ensure the previous pages params aren‘t passed through redirect (Daniel Lucraft and Bryan Helmkamp)
    • Labels should only search for fields within the current scope (Kyle Hargraves)

0.4.0 / 2009-01-18

  • IMPORTANT Breaking change:
    • Removed init.rb auto-require of webrat/rails
    • Removed auto-require of webrat/rails when requiring webrat when RAILS_ENV is defined

    In your env.rb or test_helper.rb file, ensure you have something like:

      require "webrat"
    
      Webrat.configure do |config|
        config.mode = :rails
      end
    
  • Major enhancements
    • Major improvements to Webrat::Selenium (Many contributors listed here)
    • Add assert_* methods for using Webrat‘s matchers w/o RSpec (Mike Gaffney, Amos King)
    • Added Webrat.configure method for Webrat configuration [33] (Mike Gaffney)
    • Added select_time, select_date, and select_datetime to API. [36] (Ben Mabey)
    • Use Hpricot and REXML when not parsing with Nokogiri (on JRuby, for example)
  • Minor enhancements
    • Added Selenium grid configuration and support. (Amos King && Cornel Borcean)
    • Support passing an ActiveRecord model to within when in Rails mode [68] (Luke Melia)
    • Make assert_* matchers in rails mode increment the assertions count [123] (Amos King)
    • Added assert_* matchers to selenium matchers [110] (Amos King)
    • Added assert_contain, assert_not_contain [86] (Mike Gaffney, Amos King)
    • Add configuration options for the Selenium environment and port (Kieran Pilkington)
    • Maximize the browser window after initializing Selenium (Luke Melia)
    • Better inspect output for Webrat elements
    • Sets the Webrat mode with Configuration#mode= in the config block [85] (Mike Gaffney)
    • Detect if the document is XML or HTML using the Content-Type when in Rails mode
    • Expose selenium method for direct access to Selenium client
    • Check nokogiri gem version before requiring nokogiri
    • Include the Selenium server jar file in the gem (Bryan Helmkamp, Ben Schwarz)
    • Added key_down, key_up and fire_event to Selenium session (Fernando Garcia)
    • Fix outputing README during Rails plugin install (Fernando Garcia)
    • Strip newlines when matching label text (Miha Filej)
    • Add simple support for accessing Webrat‘s matchers from RSpec by requiring "webrat/rspec-rails" (David Chelimsky)
    • Support save_and_open_page in Windows and Cygwin (Mike Gaffney)
    • Added RadioField#checked? to indicated whether or not a radio button is checked (Luke Melia)
    • Add spec:jruby rake task for running Webrat‘s spec suite with JRuby
    • Added field_by_xpath to locate a Webrat::Field using arbitrary XPath expressions
    • Helpful error message for missing option values [40] (Ben Mabey)
    • Add set_hidden_field method (Noah Davis, Bryan Helmkamp)
    • Add submit_form method for submitting a form by ID (Noah Davis, Bryan Helmkamp)
    • Switch to using Nokogiri.parse for simple XML/XHTML autodetection [66]
    • Removed Webrat.root method, which seemed to be unused
    • Added automatic starting and stopping of the Selenium server and a Mongrel Rails app server when using webrat/selenium
    • Switch to using selenium-client gem and vendor selenium-server.jar (Luke Melia)
    • Added gemspec so the gem builds on GitHub now
    • Deprecate old style methods (fills_in is deprecated in favor of fill_in, etc.)
    • Improvements to the README and RDoc (Bryan Helmkamp, Mike Gaffney)
    • Allow clicking links by id and id regexp (Mike Gaffney)
    • Raise Webrat::DisabledFieldError when attempting to manipulate a disabled field
    • Raise Webrat::NotFoundErrors when an element is not found
    • Raise Webrat::PageLoadError when a failure occurs so that application exceptions can be more accurately tested (Ryan Briones)
    • Helpful error message for missing option in select box. [40] (Ben Mabey)
    • Extracted save_and_open page to make it usable in Selenium mode (Luke Melia)
    • Added save_and_open_screengrab for Selenium mode (Luke Melia)
  • Bug fixes
    • field_labeled should disregard labels without matching fields (Kyle Hargraves)
    • Fixed bug where Scope was creating a new DOM rather than re-using the existing DOM.
      105
      (Zach Dennis)
    • Support Rails > v2.2 by using ActionController::RequestParser for param parsing [107] (Marcello Nuccio)
    • Raise a Webrat::NotFoundError if the scope passed to within doesn‘t exist [90]
    • Match against link text which decodes character references. Useful for multibyte languages like Japanese (moronatural@gmail.com)
    • Fix params hash generation for Mechanize when Merb is not defined [62]
    • Expose some Webrat methods that were missing from the Webrat::Methods module (Low Chin Chau)
    • Allow mechanize session to pass through basic auth (Ryan Briones)
    • Improvements to the Mechanize support (Jeremy Burks)
    • Fix following fully qualified local links (Lawrence Pit)
    • Fixed bug where Webrat would lose complex parameters (like foo[bar[baz]][]) in Merb due to not correctly merging Mashes. (Drew Colthorp)
    • Extend Rails’ ActionController::IntegrationTest instead of ActionController::Integration::Session (Fixes using Webrat‘s select method and avoids usage of method_missing)
    • Ensure that Webrat::MechanizeSession.request_page always uses an absolute URL. (Graham Ashton)
    • Strip anchor tags from URIs before passing to Rails integration session (Noah Davis)
    • Treat text and regexp when matching Selenium buttons (Ross Kaffenberger)
    • Allow SeleniumSession‘s click_button to be called without an argument without blowing up (Luke Melia)

0.3.4 / 2008-12-29

  • 1 Minor enhancement
    • Fix compatibility with Nokogiri 1.1.0 on JRuby
  • 1 Bug fix
    • Correct version for Nokogiri dependency in gem

0.3.3 / 2008-12-28

  • 1 Minor enhancement
    • Fix compatibility with Nokogiri 1.1.0 on MRI

0.3.2 / 2008-11-08

  • 1 Minor enhancement
    • Fixes behavior or have_tag when a block is passed. It passes the matched node(s) to the block for further specs again. (Carl Lerche)

0.3.1 / 2008-11-07

  • 1 Minor enhancement
    • Use @_webrat_session instance variable instead of @session for Merb integration to avoid collisions

0.3.0 / 2008-11-07

  • 4 Major enhancements
    • Added Merb support (Gwyn Morfey, Jeremy Burks, Rob Kaufman, Yehuda Katz)
    • Added experimental Selenium support (Luke Melia)
    • Add have_selector, have_xpath, have_tag and contain matchers from Merb
    • Switch from Hpricot to Nokogiri for XML parsing (thanks, Aaron Patterson)
  • 37 Minor enhancements
    • Added within for manipulating the current page within a selector scope
    • Add support for file fields via attaches_file method (Rails only at the moment) (Kyle Hargraves)
    • Add support for simulating SSL requests (Luke Melia)
    • Added basic_auth(user, pass) to support HTTP Basic Auth (Aslak Hellesøy)
    • Added support for Sinatra and Rack (Aslak Hellesøy)
    • Rename visits to visit, fills_in to fill_in, etc.
    • Add field_labeled for looking up form fields by label (David Chelimsky)
    • Add field_named and field_with_id locators
    • Don‘t depend on hoe anymore
    • Return responses after sending requests
    • Allow clicking links and buttons by a regular expression in Selenium (Luke Melia)
    • Allow clicking links by a regular expression
    • Add http_accept for including MIME type HTTP "Accept" headers (Ryan Briones)
    • Add header to support inclusion of custom HTTP headers (Ryan Briones)
    • Consider response codes 200-499 as successful enough to not raise a Webrat error (David Leal)
    • Add support for clicking areas of an image map (Alex Lang)
    • Support relative links, including href="?foo=bar" (Kyle Hargraves)
    • Separated Rails-specific code from the Webrat core to make it easier to use Webrat with other environments
    • Alias visits as visit, clicks_link as click_link, etc. for better readability
    • Raise error when trying to interact with a disabled form element (Luke Melia)
    • Don‘t send disabled form elements to the server (Nicholas A. Evans)
    • Display response body when the page load is not successful (David Leal)
    • CGI escape form field values (Miha Filej)
    • Add support for redirect_to :back by sending HTTP_REFERER headers (Hendrik Volkmer)
    • Expose current DOM (as an Hpricot object) as current_dom
    • Add support for disabling JavaScript when clicking a link to enable testing of both JS and non-JS implementations (Luke Melia and Bryan Helmkamp)
    • Support &nbsp‘s as spaces in matching link text (Luke Melia)
    • Support button elements (Nick Sieger)
    • Support matching select options by regexp (Kyle Hargraves)
    • save_and_open_page rewrites css and image references to provide a friendlier debugging experience (Luke Melia)
    • Added support for matching alt attributes in fields (primarly for clicks_button) (Aaron Quint)
    • Support ’&’ in submitted values (Kyle Hargraves)
    • Support clicking links by title (Dan Barry)
    • Added missing spec for clicking image buttons (Tim Harper)
    • Switched tests to specs, and from Mocha to RSpec‘s mocking library
    • Add support to click_button for IDs (Gwyn Morfey)
    • Miscellaneous core refactorings (Jan Suchal)
  • 8 Bug fixes
    • Fix initialization of WWW::Mechanize (Derek Kastner)
    • Don‘t open blank pages in the browser (Kyle Hargraves)
    • Support radio buttons with multiple labels (Dan Barry)
    • Fix load order bug on some platforms (Ismael Celis)
    • Fix bug with empty select list option (Kyle Hargraves)
    • Fix regression of not sending default values in password fields
    • Don‘t explode if encountering inputs with no type attribute (assume text)
    • Fix bug where choosing a radio button in a series with a default submitted the incorrect field value (Luke Melia)

0.2.0 / 2008-04-04

  • 4 Major enhancements
    • Add save_and_open_page to aid in debugging
    • Add radio button support via chooses method
    • Add basic support for Rails-generated JavaScript link tags
    • Add support for checkboxes (Patches from Kyle Hargraves and Jarkko Laine)
    • Add support for textarea fields (Sacha Schlegel)
  • 8 Minor enhancements
    • Added reloads method to reload the page (Kamal Fariz Mahyuddi)
    • Prevent making a request if clicking on local anchor link (Kamal Fariz Mahyuddi)
    • Added clicks_link_within(selector, link_text), allowing restricting link search to within a given css selector (Luke Melia)
    • Allow specifying the input name/label when doing a select (David Chelimsky)
    • Raise a specific exception if the developer tries to manipulate form elements before loading a page (James Deville)
    • Add support for alternate POST, PUT and DELETE link clicking (Kyle Hargraves)
    • Change clicks_link to find the shortest matching link (Luke Melia)
    • Improve matching for labels in potentially ambiguous cases
  • 7 Bug fixes
    • Fix incorrect serializing of collection inputs, i.e. name contains [] (Kamal Fariz Mahyuddi)
    • Serialize empty text field values just like browsers (Kamal Fariz Mahyuddi)
    • Quick fix to avoid @dom not initialized warnings (Kamal Fariz Mahyuddi)
    • Docfix: bad reference to select method in README (Luke Melia)
    • Ensure Rails-style checkboxes work properly (checkboxes followed by a hidden input with the same name)
    • Fix Edge Rails (a.k.a. 2.0 RC) compatibility (David Chelimsky)
    • Support param hashes nested more than one level (David Chelimsky)

0.1.0 / 2007-11-28

  • 1 major enhancement
    • Birthday!

[Validate]