Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency capybara to v3 #15

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Mar 30, 2023

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
capybara (changelog) 2.6.2 -> 3.40.0 age adoption passing confidence

Release Notes

teamcapybara/capybara (capybara)

v3.40.0

Compare Source

Release date: 2024-01-26

Changned
  • Dropped support for Ruby 2.7, 3.0+ is now required
  • Dropped support for Selenium < 4.8
  • Use the new headless option on chromedriver with registered selenium driver [Neil Carvalho]
Added
  • Capybara::Result#to_ary to support multiple assignment [Sean Doyle]
  • has_element? and related matchers [Sean Doyle]
  • Rack 3 support
Fixed
  • Forward save_screenshot options to selenium - Issue 2738
  • Rack test - don't auto submit forms with multiple inputs [Mitchell Henke]
  • Table row selector matches cell values in order - Issue 2686 [Jeff Parr]
  • Table row selector fixes for first column - Issue 2685 [Jeff Par]

v3.39.2

Compare Source

Release date: 2023-06-10

Fixed
  • Fix Selenium version comparison [aki77]

v3.39.1

Compare Source

Release date: 2023-05-12

Fixed
  • Fix usage of Selenium logger

v3.39.0

Compare Source

Release date: 2023-04-02

Added
  • Support :target filter option on :link selector [Yudai Takada]
  • Experimental Rack 3 support
  • Text normalization performance improvements [Brandon Weaver]
Fixed
  • MS Edge button click [Brian J. Bayer]
  • Options/Capabilities choosing based on Selenium versions
  • Support for base versions [Matijs van Zuijlen]
  • ExpectedError not defined in Selenium 4+
  • Filter block forwarding to a number of matchers [Christophe Bliard]
Changed
  • Dropped support for rack 1.x

v3.38.0

Compare Source

Release date: 2022-11-03

Changed
  • Capybara.w3c_click_offset now defaults to true. If you need click offsets to be from the elements top left corner set it to false in your config
Added
  • Support Selenium 4.3 changes to click offset calculations
  • click, double_click, right_click can now be called on the session to click the currently scoped element (or document)
  • Session#within now passes the scoped element to the block
  • Support rack-test 2+
  • Retry interval is now configurable [Masahiro NOMOTO]
  • Support Puma 6 - Issue #​2590
  • Selenium: DetachedShadowRootError is treated as an invalid element error [Perryn Fowler]
  • Selenium: When inspected shadow roots will have a tag name of "ShadowRoot"
  • evaluate_async_script added to Session::DSL_METHODS [Henry Blyth]
Fixed
  • Use higher precision clock in Capybara::Helpers::Timer if available
  • rack-test driver behavior with \r\n - Issue #​2547 [Stefan Hoffmann]
  • Updated for deprecation of positional parameters in Selenium::WebDriver::ActionBuilder#pause
  • Explicitly set cause on server raised errors
  • Options no longer duplicated in have_xxx invalid option error message [Yudai Takada]
  • Animation disabler is now threadsafe [Daniel Sheppard]
  • Server connection count tracking [Oleksandr K.]
  • Ensure scopes are reset when session is [Henry Blyth]

v3.37.1

Compare Source

Release date: 2022-05-09

Fixed
  • Regression in rack-test visit - Issue #​2548

v3.37.0

Compare Source

Release date: 2022-05-07

Changed
  • Ruby 2.7.0+ is now required
Added
  • [Beta] CSP nonces inserted into animation disabler additions - Issue #​2542
  • Support <base> element in rack-test driver - ISsue #​2544
  • [Beta] Element#shadow_root support. Requires selenium-webdriver 4.1+. Only currently supported with Chrome when using the selenium driver. Note: only CSS can be used to find elements from the shadow root. Therefore you won't be able to use most Capybara helper methods (fill_in, click_link, find_field, etc) directly from the shadow root since those locators are built using XPath. If you first locate a descendant from the shadow root using CSS then you should be able to use all the Capybara methods from there.
  • Regexp now supported for exact_text finder option
Fixed
  • Fragments in referer headers in rack-test driver - Issue #​2525
  • Selenium v4.1 deprecation notice

v3.36.0

Compare Source

Release date: 2021-10-24

Changed
  • Ruby 2.6.0+ is now required
  • Minimum selenium-webdriver supported is now 3.142.7
Added
  • Support for selenium-webdriver 4.x
  • allow_label_click accepts click options to be used when clicking an associated label
  • Deprecated allow_gumbo= in favor of use_html5_parsing= to enable use of Nokogiri::HTML5 when available
  • Session#active_element returns the element with focus - Not supported by the RackTest driver [Sean Doyle]
  • Support focused: filter for finding interactive elements - Not supported by the RackTest driver [Sean Doyle]
Fixed
  • Sibling and ancestor queries now work with Simple::Node - Issue #​2452
  • rack_test correctly ignores readonly attribute on specific input element types
  • Node#all_text always returns a string - Issue #​2477
  • have_any_of_selectors negated match - Issue #​2473
  • Document#scroll_to fixed for standards behavior - pass quirks: true if you need the older behavior [Eric Anderson]
  • Use capture on attach file event listener for better React compatibility [Jeff Way]
  • Animation disabler produces valid HTML [Javi Martin]
Removed
  • References to non-w3c mode in drivers/tests. Non-w3c mode is obsolete and no one should be using it anymore. Capybara hasn't been testing/supporting it in a while

v3.35.3

Compare Source

Release date: 2021-01-29

Fixed
  • Just a release to have the correct dates in the History.md in released gem

v3.35.2

Compare Source

Release date: 2021-01-29

Fixed
  • Selenium deprecation suppressor with Selenium 3.x

v3.35.1

Compare Source

Release date: 2021-01-26

Fixed
  • Default chrome driver registrations use chrome - Issue #​2442 [Yuriy Alekseyev]
  • 'Capybara.test_id' usage with the :button selector - Issue #​2443

v3.35.0

Compare Source

Release date: 2021-01-25

Added
  • Support Regexp matching for individual class names in :class filter passed an Array
  • Animation disabler now supports JQuery animation disabling when JQuery loaded from body [Chien-Wei Huang]
Fixed
  • :button selector type use with enable_aria_role [Sean Doyle]
  • elements don't associate with aria-role buttons
  • Ignore Selenium::WebDriver::Error::InvalidSessionIdError when quitting driver [Robin Daugherty]
  • Firefox: Don't click input when sending keys if already focused
  • Miscellaneous issues with selenium-webdriver 4.0.0.alphas
  • Nil return error in node details optimizations
  • Animation disabler now inserts XHTML compliant content [Dale Morgan]

v3.34.0

Compare Source

Release date: 2020-11-26

Added
  • Ability to fill in with emoji when using Chrome with selenium driver (Firefox already worked)
  • Current path assertions/expectations accept optional filter block
  • Animation disabler now specifies scroll-behavior: auto; [Nathan Broadbent]
  • :button selector can now find elements by label text [Sean Doyle]
  • Session#send_keys to send keys to the current element with focus in drivers that support the
    concept of a current element [Sean Doyle]
Changed
  • Text query validates the type parameter to prevent undefined behavior
Fixed
  • racktest driver better handles fragments and redirection to urls that include fragments
  • Don't error when attempting to get XPath location of a shadow element
  • Missing readonly? added to Node::Simple
  • Selenium version detection when loaded via alternate method [Joel Hawksley]
  • Connection count issue if REQUEST_URI value changed by app [Blake Williams]
  • Maintain URI fragment when redirecting in rack-test driver
  • Text query error message [Wojciech Wnętrzak]
  • Checking a checkbox/radio button with allow_label_click now works if there are multiple labels (Issue #​2421)
  • drop with Pathname (Issue #​2424)[Máximo Mussini]

v3.33.0

Compare Source

Release date: 2020-06-21

Added
  • Block passed to within_session now receives the new and old session
  • Support for aria-role button when enabled [Seiei Miyagi]
  • Support for aria-role link when enabled
  • Support for validation_message filter with :field and :fillable_field selectors
  • Deprecation warnings show source location [Koichi ITO]
Changed
  • Ruby 2.5.0+ is now required
  • Deprecated direct manipulation of the driver and server registries
Fixed
  • Ruby 2.7 warning in minitest assert_text [Eileen M. Uchitelle]

v3.32.2

Compare Source

Release date: 2020-05-16

Fixed
  • Don't use lazy enumerator with JRuby due to leaking threads
  • Ruby 2.7 deprecation warning when registering Webrick [Jon Zeppieri]
  • have_text description [Juan Pablo Rinaldi]

v3.32.1

Compare Source

Release date: 2020-04-05

Fixed
  • Rapid set now respects field maxlength (Issue #​2332)
  • Only patch pause into legacy actions in Selenium < 4 (Issue #​2334)

v3.32.0

Compare Source

Release date: 2020-03-29

Added
  • Support delay setting on click with Selenium
  • Implement rapid set for values longer than 30 characters in text fields with Selenium
Fixed
  • Result#[] and negative max on ranges (Issue #​2302/2303) [Jeremy Evans]
  • RackTest form submission rewrites query string when using GET method
  • Ruby 2.7 deprecation warnings in RSpec matcher proxies

v3.31.0

Compare Source

Release date: 2020-01-26

Added
  • Support setting range inputs with the selenium driver [Andrew White]
  • Support setting range inputs with the rack driver
  • Support drop modifier keys in drag & drop [Elliot Crosby-McCullough]
  • enabled_options and disabled options filters for select selector
  • Support beginless ranges
  • Optionally allow all results to be reloaded when stable - Beta feature - may be removed in
    future version if problems occur
Fixed
  • Fix Ruby 2.7 deprecation notices around keyword arguments. I have tried to do this without
    any breaking changes, but due to the nature of the 2.7 changes and some selector types accepting
    Hashes as locators there are a lot of edge cases. If you find any broken cases please report
    them and I'll see if they're fixable.
  • Clicking on details/summary element behavior in rack_test driver_

v3.30.0

Compare Source

Release date: 2019-12-24

Added
  • Display pending requests when they don't complete in time [Juan Carlos Medina]
  • :order option in selector queries - set to :reverse to for reverse document order results
  • Support regexp for :name and :placeholder options in selectors that import filters from
    _field filter set
Fixed
  • Issue around automatic port assignment - Issue #​2245
  • Label selector when label has no id - Issue #​2260
  • Preserve clientX/clientY in Selenium HTML5 drag emulation [Nicolò G.]
  • table selector using :with_cols option if last specified column matched but others didn't - Issue #​2287
  • Some tests updated for Ruby 2.7 behavior change around keyword args

v3.29.0

Compare Source

Release date: 2019-09-02

Added
  • Allow clicking on file input when using the block version of attach_file with Chrome and Firefox
  • Spatial filters (left_of, right_of, above, below, near)
  • rack_test driver now supports clicking on details elements to open/close them
Fixed
  • rack_test driver correctly determines visibility for open details elements descendants
Changed
  • Results will now be lazily evaluated when using JRuby >= 9.2.8.0

v3.28.0

Compare Source

Release date: 2019-08-03

Added
  • Allow forcing HTML5 or legacy dragging via the :html5 option to drag_to when using Selenium with Chrome or Firefox
  • Autodetection of drag type interprets not seeing the mousedown event as legacy.
  • HTML5 form validation :valid node filter added to :field and :fillable_field selectors
  • When using Capybara registered :puma server - patches Puma 4.0.x to fix SSL connection behavior. Removes
    default queue_requests setting - Issue #​2227

v3.27.0

Compare Source

Release date: 2019-07-28

Added
  • Allow to use chromedriver/geckodriver native is_element_displayed endpoint via Selenium
    driver native_displayed option for performance reasons. Disabled by default due to endpoints
    currently not handling <details> element descendants visibility correctly.
Fixed
  • Ignore negative lookahead/lookbehind regex when performing initial XPath text matching
  • Reloading of elements found via ancestor and sibling
  • Only default puma settings to queue_requests: false when using SSL
  • Visibility of descendants of <details> elements is correctly determined when using rack_test
    and the selenium driver with Capybara optimized atoms
  • local/session storage clearance in Chrome when clearing only one of them - Issue #​2233

v3.26.0

Compare Source

Release date: 2019-07-15

Added
  • w3c_click_offset configuration option applies to right_click and double_click as well as click
  • Warning when passing nil to the text/content assertions/expectations
  • Session#server_url returns the base url the AUT is being run at (when controlled by Capybara)
  • option selector type accepts an integer as locator
Fixed
  • Default puma server registration now specifies queue_requests: false - Issue #​2227
  • Workaround issue with FF 68 and hanging during reset if a system modal is visible
  • Don't expand file path if it's already absolute - Issue #​2228

v3.25.0

Compare Source

Release date: 2019-06-27

Added
  • Animation disabler also disables before and after pseudoelements - Issue #​2221 [Daniel Heath]
  • w3c_click_offset configuration option to determine whether click offsets are calculated from element
    center or top left corner
Fixed
  • Work around issue with chromedriver 76/77 in W3C mode losing mouse state during legacy drag. Only fixed if
    both source and target are simultaneously inside the viewport - Issue #​2223
  • Negative ancestor expectations/predicates were incorrectly checking siblings rather than ancestors

v3.24.0

Compare Source

Release date: 2019-06-13

Added
  • Log access when using the Selenium driver with Chrome 75 in W3C mode has been reenabled.
Changed
  • Selenium driver now selects all current content and then sends keys rather than clearing field by JS
    and then sending keys when setting values to text inputs in order to more closely simulate user behavior
Fixed
  • Relative paths passed to attach_file will be assumed to be relative to the current working directory when using the
    Selenium driver

v3.23.0

Compare Source

Release date: 2019-06-10

Added
  • Improved error message when using Chrome in W3C mode and attempting to access logs
  • Support driver specific options for Element#drag_to
  • Support setting <input type="color"> elements with the selenium driver
Fixed
  • Tightened conditions when in expression text option matching will be used
  • Improved Selenium drivers HTML5 drag and drop emulation compatibility with SortableJS library (and others)

v3.22.0

Compare Source

Release date: 2019-05-29

Added
  • ancestor/sibling assertions and matchers added
  • Documentation Updates and Fixes - Many thanks again to Masafumi Koba! [Masafumi Koba]
  • Added :with alias for :option filter on :checkbox and :radio_button selectors
Changed
  • Selenium driver with Chrome >= 73 now resets cookies and local/session storage after navigating
    to 'about:blank' when possible to minimize potential race condition

v3.21.0

Compare Source

Release date: 2019-05-24

Added
  • Element#drop - Chrome and Firefox, via the selenium driver, support dropping files/data on elements
  • Default CSS used for attach_file make_visible: true now includes auto for
    height and width to handle more ways of hiding the file input element
  • Documentation Updates and Fixes - Many thanks to Masafumi Koba! [Masafumi Koba]
Changed
  • Deprecate support for CSS locator being a Symbol

v3.20.2

Compare Source

Release date: 2019-05-19

Fixed
  • Move uglifier from runtime to development dependency [miyucy]

v3.20.1

Compare Source

Release date: 2019-05-17

Fixed
  • RackTest driver considers <template> elements to be non-visible and ignores the contents

v3.20.0

Compare Source

Release date: 2019-05-14

Added
  • Node#obscured? to check viewport presence and element overlap
  • :obscured system filter to check whether elements are obscured in finders, assertions, and expectations
  • :label selector :for option can be a regexp
  • Significantly smaller isDisplayed/getAttribute atoms for selenium driver. If these produce issues you can disable their use
    by setting an environment variable named 'DISABLE_CAPYBARA_SELENIUM_OPTIMIZATIONS' (Please also report any issues).
  • href: false option with find_link/click_link/:link selector ignores href presence/absence
Fixed
  • Workaround Safari issue with send_keys not correctly using top level modifiers
  • Workaround Safari not retrying click due to incorrect error type
  • Fix Safari attach_file block mode when clicking elements associated to the file input
  • Workaround Safari issue with repeated hover

v3.19.1

Compare Source

Release date: 2019-05-11

Fixed
  • Fix access to specializations when Selenium::Driver is subclassed [James Mead]

v3.19.0

Compare Source

Release date: 2019-05-09

Added
  • Syntactic sugar #once, #twice, #thrice, #exactly, #at_least, #at_most, and #times
    added to have_selector, have_css, have_xpath, and have_text RSpec matchers
  • Support for multiple expression types in Selector definitions
  • Reduced wirecalls for common actions in Selenium driver
Fixed
  • Workaround Chrome 75 appending files to multiple file inputs
  • Suppressed retry when detecting http vs https server connection

v3.18.0

Compare Source

Release date: 2019-04-22

Added
  • XPath Selector query optimized to make use of Regexp :text option in initial element find
Fixed
  • Workaround issue where Chrome/chromedriver 74 can return the wrong error type when a click is intercepted

v3.17.0

Compare Source

Release date: 2019-04-18

Added
  • Initial support for selenium-webdriver 4.0.0.alpha1
  • :button selector will now also match on name attribute
Fixed
  • Suppress warnings generated by using selenium-webdriver 3.141.5926
  • Mask Appium issue with finder visibility optimizations (non-optimal)

v3.16.2

Compare Source

Release date: 2019-04-10

Fixed
  • Fix Session#quit resetting of memoized document

v3.16.1

Compare Source

Release date: 2019-03-30

Fixed
  • Fix potential 'uninitialized constant' error when using the :selenium_chrome driver [jeffclemens-ab]

v3.16.0

Compare Source

v3.15.1

Compare Source

v3.15.0

Compare Source

v3.14.0

Compare Source

v3.13.2

Compare Source

Release date: 2019-01-24

Fixed
  • Remove extraneous output

v3.13.1

Compare Source

Release date: 2019-01-24

Fixed
  • Only use Selenium visibility optimization when JS atom is available - Issue #​2151

v3.13.0

Compare Source

Release date: 2019-01-23

Added
  • Session#quit added
  • #scroll_to added to allow scrolling page/elements to specified locations
  • Speed optimizations around multiple element location and path generation when using the Selenium driver
  • Support for locator type checking in custom selectors
  • Allow configuration of gumbo use - defaults to off
  • assert_style/has_style/have_style deprecated in favor of assert_matches_style/matches_styles?/match_style
  • :style filter added to selectors

v3.12.0

Compare Source

Release date: 2018-11-28

Added
  • Support Ruby 2.6 endless range in Result#[] and query :between option
  • Pre-registered headless firefox driver :selenium_headless [Andrew Havens]
  • Selenium driver now defaults to clearing sessionStorage and localStorage. To disable pass clear_local_storage: false and/or clear_session_storage: false when creating Capybara::Selenium::Driver instance in your driver registration
Fixed
  • Raise error if only :x or :y are passed as an offset to click methods
Removed
  • Support for RSpec < 3.5

v3.11.1

Compare Source

Release date: 2018-11-16

Fixed
  • Fixed :link_or_button XPath generation when it has had an expression filter added

v3.11.0

Compare Source

Release date: 2018-11-14

Added
  • Ability for node filters to set detailed error messages
  • Capybara::HTML Will use nokogumbo for HTML parsing if installed
  • Selector#locator_filter added to allow for dynamic locator in selectors
Fixed
  • Node filters are evaluated in the context of the Selector they are used in to ensure the correct options are used

v3.10.1

Compare Source

Release date: 2018-11-03

Fixed
  • Fix aria-label and test_id matching for link_or_button selector type - Issue #​2125
  • Fixed crash in element path creation for matcher failure messages - Issue #​2120

v3.10.0

Compare Source

Release date: 2018-10-23

Added
  • :class filter can now check for class names starting with !
  • Selector xpath/css expression definitions will get filter names from block parameters if not explicitly provided
  • any_of_selectors assertions and matchers to complement all_of_selectors and none_of_selectors
Fixed
  • Selector css expression definition declared filters now work again
  • Cleaned up warnings [Yuji Yaginuma]
  • Workaround installation of rspec matcher proxies under jruby by reverting to the old solution not using prepend, so jruby bugs are not hit - Issue #​2115

v3.9.0

Compare Source

Release date: 2018-10-03

Added
  • Selenium with Chrome removes all cookies at session reset instead of just cookies from current domain if possible
  • Support for Regexp for system :id and :class filters where possible
  • using_session now accepts a session object as well as the name of the session for users who manually manage sessions
  • The :field selector will now find type = "hidden" fields if the type: "hidden" filter option is provided

v3.8.2

Compare Source

Release date: 2018-09-26

Fixed
  • Fixed negated class selector option - Issue #​2103

v3.8.1

Compare Source

Release date: 2018-09-22

Fixed
  • Filling in of date fields with a string when using selenium chrome regression [Micah Geisel]

v3.8.0

Compare Source

Release date: 2018-09-20

Added
  • Workaround geckodriver 0.22 issue with undefined pause durations
  • :element selector ignores XML namespaces
Fixed
  • Added Errno::ECONNRESET to the errors which will allows https server detection

v3.7.2

Compare Source

Release date: 2018-09-12

Fixed
  • Fix MatchQuery based matchers when used on a root element found using any type of parent/ancestor query - Issue #​2097

  • Fix Chrome/FF HTML5 drag simulation for elements (a, img) which default to draggable - Issue #​2098

v3.7.1

Compare Source

Release date: 2018-09-05

Fixed
  • Restored ability to pass symbol as the CSS selector when calling has_css?/have_css/etc - Issue #​2093

v3.7.0

Compare Source

Release date: 2018-09-02

Added
  • Capybara.disable_animation can be set to a CSS selector to identify which elements will have animation disabled [Michael Glass]
  • Capybara.default_normalize_ws option which sets whether or not text predicates and matchers (has_text?, has_content?, assert_text, etc) use normalize_ws option by default. Defaults to false. [Stegalin Ivan]
  • Selector based predicates, matchers, and finders now support the :normalize_ws option for the :text/:exact_text filters. Defaults to the Capybara.default_normalize_wssetting above.
  • Element choose/check/uncheck/attach_file/fill_in can now operate on the element they're called on or a descendant if no locator is passed.
Fixed
  • All CSS styles applied by the Element#attach_file :make_visible option will now have !important priority set to ensure they override any other specified style.
  • Firefox file inputs are only manually cleared when necessary.

v3.6.0

Compare Source

Release date: 2018-08-14

Added
  • Workaround geckodriver/firefox send_keys issues as much as possible using the Selenium actions API
  • Workaround lack of HTML5 native drag and drop events when using Selenium driver with Chrome and FF >= 62
  • Capybara.predicates_wait option which sets whether or not Capybaras matcher predicate methods (has_css?, has_selector?, has_text?, etc.) default to using waiting/retrying behavior (defaults to true)

v3.5.1

Compare Source

Release date: 2018-08-03

Fixed
  • Fixed misspelled method name refute_matches_elector => refute_matches_selector

v3.5.0

Compare Source

Release date: 2018-08-01

Added
  • text predicates and matchers (has_text?, has_content?, assert_text, etc) now support a normalize_ws option
Fixed
  • attach_file with Selenium and local Firefox 62+ now correctly generates only one change event when attaching multiple files

v3.4.2

Compare Source

Release date: 2018-07-24

Fixed
  • match_xxx selectors and matches_xxx? predicates work correctly with elements found using a sibling selector - Issue #​2073

v3.4.1

Compare Source

Release date: 2018-07-20

Fixed
  • Session#evaluate_script now strips the script in Session rather than only in the Selenium driver

v3.4.0

Compare Source

Release date: 2018-07-19

Fixed
  • Make selenium driver :backspace clear strategy work even if caret location is in middle of field content [Champier Cyril]
  • Selenium issue with fieldset nested in disabled fieldset not being considered disabled
  • Session#evaluate_script and Element#evaluate_script now strip leading/trailing whitespace from scripts [Ian Lesperance]
Added
  • Work around Selenium lack of support for file_detector with remote geckodriver
  • #within_frame locator is optional when only one frame exists
  • Capybara.test_id option that allows for matching the Capybara provided selector types on an arbitrary attribute
    (defaults to nil), set to your test id attribute ('data-test-id, etc) if using test id attributes in your project

v3.3.1

Compare Source

Release date: 2018-06-27

Fixed
  • selenium-webdriver version check [ahorek]
  • Selenium driver correctly responds to disabled? for fieldset elements - Issue #​2059 [Thomas Walpole]

v3.3.0

Compare Source

Release date: 2018-06-25

Added
  • RackTest driver now handles 307/308 redirects
  • execute_async_script can now be called on elements to run the JS in the context of the element
  • :download filter option on `:link' selector
  • Window#fullscreen
  • Element#style and associated matchers
Changed
  • Minimum "supported" selenium-webdriver is raised to 3.5.0 (but you really should be using newer than that)
Fixes
  • Selenium driver with Firefox workaround for clicking on table row - https://github.com/mozilla/geckodriver/issues/1228
  • :class and :id filters applied to CSS based selectors now correctly handle the CSS comma
  • Selenium driver handles namespaces when generating an elements #path - Issue #​2048

v3.2.1

Compare Source

Release date: 2018-06-04

Fixes
  • Only split CSS selectors when :class or :id options are given. Restores 3.1.1 functionality for now but the underlying issue
    will require a larger fix, hopefully coming soon. - Issue #​2044 [Thomas Walpole]

v3.2.0

Compare Source

Release date: 2018-06-01

Changed
  • Ruby 2.3.0+ is now required
  • ElementNotFound errors raised in selector filters are interpreted as non-matches
Added
  • New global configuration default_set_options used in Capybara::Node::Element#set as default options hash [Champier Cyril]
  • execute_script and evaluate_script can now be called on elements to run the JS in the context of the element [Thomas Walpole]
  • Filters in custom selectors now support a matcher Regexp to handle multiple filter options [Thomas Walpole]
  • :element selector type which will match on any attribute (other than the reserved names) passed as a filter option [Thomas Walpole]
  • :class filter option now supports preceding class names with ! to indicate not having that class [Thomas Walpole]
  • :class and :id filter options now accept XPath::Expression objects to allow for more flexibility in matching [Thomas Walpole]
  • Capybara.disable_animation setting which triggers loading of a middleware that attempts to disable animations in pages.
    This is very much a beta feature and may change/disappear in the future. [Thomas Walpole]

v3.1.1

Compare Source

Release date: 2018-05-25

Fixes
  • Ensure keystrokes are sent when setting time/date fields to a string with the Selenium driver [Thomas Walpole]

v3.1.0

Compare Source

Release date: 2018-05-10

Added
  • Support for using select with text inputs associated with a datalist element
  • type filter on :button selector
  • Support for server operating in https mode
  • Selenium driver now uses JS to fill_in/set date and time fields when passed date or time objects [Aleksei Gusev, Thomas Walpole]

v3.0.3

Compare Source

Release date: 2018-04-30

Fixes
  • Issue in check where the locator string could not be omitted
  • Selenium browser type detection when using remote [Ian Ker-Seymer]
  • Potential hang when waiting for requests to complete [Chris Zetter]

v3.0.2

Compare Source

Release date: 2018-04-13

Fixes
  • Fix expression filter descriptions in some selector failure messages
  • Fix compounding of negated matchers - Issue #​2010

v3.0.1

Compare Source

Release date: 2018-04-06

Changed
  • Restored ability for Capybara.server= to accept a proc which was accidentally removed in 3.0.0

v3.0.0

Compare Source

Release date: 2018-04-05

Changed
  • Selenium driver only closes extra windows for browsers where that is known to work (Firefox, Chrome)
  • "threadsafe" mode is no longer considered beta
Fixes
  • Multiple file attach_file with Firefox
  • Use Puma::Server directly rather than Rack::Handler::Puma so signal handlers don't prevent test quitting

v2.18.0

Compare Source

Release date: 2018-02-12

Fixed
  • Firefox/geckodriver setting of contenteditable childs contents
  • Ignore Selenium::WebDriver::Error::SessionNotCreatedError when quitting driver [Tim Connor]
Removed
  • Headless chrome modal JS injection that is no longer needed for Chrome 64+/chromedriver 2.35+

v2.17.0

Compare Source

Release date: 2018-01-02

Added
  • have_all_of_selectors, have_none_of_selectors RSpec matchers for parity with minitest assertions [Thomas Walpole]
Fixed
  • Allow xpath 3.x gem [Thomas Walpole]
  • Issue when drivers returned nil for current_path and a matcher was used with a Regexp [Thomas Walpole]
  • Error message when visible element not found, but non-visible was [Andy Klimczak]

v2.16.1

Compare Source

Release date: 2017-11-20

Fixed
  • Fix rack_test driver for rack_test 0.7.1/0.8.0 [Thomas Walpole]
  • accept_prompt response text can contain quotes when using selenium with headless chrome [Thomas Walpole]

v2.16.0

Compare Source

Release date: 2017-11-13

Added
  • Attempt to move element into view when selenium doesn't correctly do it - See PR #​1917 [Thomas Walpole]
  • current_path matchers will now autodetect path vs url based on string to be matched. Deprecates
    :only_path in favor of :ignore_query option [Thomas Walpole]
  • Session#evaluate_async_script [Thomas Walpole]
Fixed
  • Default prompt value when using headless Chrome works correctly [Thomas Walpole]
  • Support new modal error returned by selenium-webdriver 3.7 for W3C drivers [Thomas Walpole]
  • Calling respond_to? on the object passed to Capybara.configure block - Issue #​1935

v2.15.4

Compare Source

Release date: 2017-10-07

Fixed
  • Visiting an absolute URL shouldn't overwrite the port when no server or always_include_port=false - Issue #​1921

v2.15.3

Compare Source

Release date: 2017-10-03

Fixed
  • Visiting '/' when Capybara.app_host has a trailing '/' - Issue #​1918 [Thomas Walpole]

v2.15.2

Compare Source

Release date: 2017-10-02

Fixed
  • Include within scope description in element not found/ambiguous errors [Thomas Walpole]
  • Raise error when no activation block is passed to modal methods if using headless chrome [Thomas Walpole]
  • Don't retry element access when inspecting [Ivan Neverov]
  • Don't override a specified port (even if it is default port) in visited url [Thomas Walpole]

v2.15.1

Compare Source

Release date: 2017-08-04

Fixed
  • attach_file with no extension/MIME type when using the :rack_test driver [Thomas Walpole]

v2.15.0

Compare Source

Release date: 2017-08-04

Added
  • sibling and ancestor finders added [Thomas Walpole]
  • Added ability to pass options to registered servers when setting
  • Added basic built-in driver registrations :selenium_chrome and :selenium_chrome_headless [Thomas Walpole]
  • Add and_then to Capybara RSpec matchers which behaves like the previous and compounder. [Thomas Walpole]
  • Compound RSpec expectations with Capybara matchers now run both matchers inside a retry loop rather
    than waiting for one to pass/fail before checking the second. Will make #or more performant and confirm
    both conditions are true "simultaneously" for and. [Thomas Walpole]
    If you still want the
  • Default filter values are now included in error descriptions [Thomas Walpole]
  • Add Session#refresh [Thomas Walpole]
  • Loosened restrictions on where Session#within_window can be called from [Thomas Walpole]
  • Switched from mime-types dependency to mini_mime [Jason Frey]

v2.14.4

Compare Source

Release date: 2017-06-27

Fixed
  • Fix retrieval of session_options for HaveSelector matcher descriptions - Issue #​1883

v2.14.3

Compare Source

Release date: 2017-06-15

Fixed
  • Minitest assertions now raise the correct error type - Issue #​1879 [Thomas Walpole]
  • Improve flexibility of detecting Chrome headless mode [Thomas Walpole]

v2.14.2

Compare Source

Release date: 2017-06-09

Fixed
  • Workaround for system modals when using headless Chrome now works if the page changes

v2.14.1

Compare Source

Release date: 2017-06-07

Fixed
  • Catch correct error when unexpected system modals are discovered in latest selenium [Thomas Walpole]
  • Update default puma server registration to encourage it to run in single mode [Thomas Walpole]
  • Suppress invalid element errors raised while lazily evaluating the results of all [Thomas Walpole]
  • Added missing with_selected option to the :select selector to match options/with_options options - Issue #​1865 [Bartosz Nowak]
  • Workaround broken system modals when using selenium with headless Chrome

v2.14.0

Compare Source

Release date: 2017-05-01

Added
  • "threadsafe" mode that allows per-session configuration
  • :type filter added to the :fillable_field selector
  • Proxy methods when using RSpec for all/within that call either the Capybara::DSL or RSpec matchers
    depending on arguments passed
  • Support for the new errors in selenium-webdriver 3.4
Fixed
  • Element#inspect doesn't raise an error on obsolete elements
  • Setting a contenteditable element with Selenium and Chrome 59
  • Workaround a hang while setting the window size when using geckodriver 0.16 and Firefox 53
  • Clicking on url with a blank href goes to the current url when using the RackTest driver

v2.13.0

Compare Source

Release date: 2017-03-16

Added
  • Selenium driver supports returning element(s) from evaluate_script [Thomas Walpole]
  • rack_test driver supports click on checkboxes and radio buttons to change their states [Thomas Walpole]
  • Support RSpec equivalent assertions and expectations for MiniTest [Thomas Walpole]
Fixed
  • Editing of content editable children with selenium

v2.12.1

Compare Source

Release date: 2017-02-16

Fixed
  • Disable lazy Capybara::Results evaluation for JRuby due to ongoing issues

v2.12.0

Compare Source

Release date: 2017-01-22

Added
  • Session#switch_to_frame for manually handling frame switching - Issue #​1365 [Thomas Walpole]
  • Session#within_frame now accepts a selector type (defaults to :frame) and locator [Thomas Walpole]
  • Session#execute_script and Session#evaluate_script now accept optional arguments that will be passed to the JS function. This may not be supported
    by all drivers, and the types of arguments that may be passed is limited. If drivers opt to support this feature they should support passing page elements. [Thomas Walpole]
  • :exact option for text and title matchers - Issue #​1256 [Thomas Walpole]
  • :exact_text option for selector finders/minders - Issue #​1256 [Thomas Walpole]
  • Capybara.exact_text setting that affects the text matchers and :text options passed to selector finders/matchers. Issue #​1256 [Thomas Walpole]
  • :make_visible option for #attach_file that allows for convenient changing of the CSS style of a file input element before attaching the file to it. Requires driver
    support for passing page elements to Session#execute_script [Thomas Walpole]
  • assert_all_selectors/assert_none_of_selectors assertions added
  • :link selector (used by find_link/click_link) now supports finding hyperlink placeholders (no href attribute) when href: nil option is specified [Thomas Walpole]
  • within_element as an alias of within due to RSpec collision
Fixed
  • Fields inside a disabled fieldset are now correctly considered disabled - Issue #​1816 [Thomas Walpole]
  • Lazy Capybara::Results evaluation enabled for JRuby 9.1.6.0+
  • A driver returning nil for #current_url won't raise an exception when calling #current_path [Dylan Reichstadt]
  • Support Ruby 2.4.0 unified Integer [Koichi ITO]
  • RackTest driver no longer modifies the text content of textarea elements in order to behave more like a real browser [Thomas Walpole]
  • TextQuery (assert_text/have_text/etc) now ignores errors when trying to generate more helpful errors messages so the original error isn't hidden [Thomas Walpole]

v2.11.0

Compare Source

Release date: 2016-12-05

Added
  • Options for clearing session/local storage on reset added to the Selenium driver
  • Window size changes wait for the size to stabilize
  • Defined return value for most actions
  • Ignore specific error when quitting selenium driver instance - Issue #​1773 [Dylan Reichstadt, Thomas Walpole]
  • Warn on selenium unknown errors rather than raising when quit

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/capybara-3.x-lockfile branch from a956a06 to 54872ed Compare May 28, 2023 19:51
@renovate renovate bot force-pushed the renovate/capybara-3.x-lockfile branch from 54872ed to 8a6b3b2 Compare June 11, 2023 08:06
@renovate renovate bot force-pushed the renovate/capybara-3.x-lockfile branch 2 times, most recently from d6e7276 to d78dc4f Compare July 10, 2023 23:36
@renovate renovate bot force-pushed the renovate/capybara-3.x-lockfile branch from d78dc4f to f5b2d3c Compare August 10, 2023 20:57
@renovate renovate bot force-pushed the renovate/capybara-3.x-lockfile branch from f5b2d3c to ecd3a7f Compare September 19, 2023 23:11
@renovate renovate bot force-pushed the renovate/capybara-3.x-lockfile branch from ecd3a7f to 832fa8a Compare November 17, 2023 14:36
@renovate renovate bot force-pushed the renovate/capybara-3.x-lockfile branch 2 times, most recently from 7520ab9 to 6b4458f Compare February 5, 2024 05:09
@renovate renovate bot force-pushed the renovate/capybara-3.x-lockfile branch from 6b4458f to b06c6db Compare February 26, 2024 02:56
@renovate renovate bot force-pushed the renovate/capybara-3.x-lockfile branch from b06c6db to cfc5120 Compare March 26, 2024 05:30
@renovate renovate bot force-pushed the renovate/capybara-3.x-lockfile branch from cfc5120 to 23f7115 Compare May 22, 2024 20:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants