capybara 3.8.1 → 3.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.yardopts +1 -0
- data/History.md +465 -0
- data/License.txt +1 -1
- data/README.md +58 -57
- data/lib/capybara/config.rb +10 -4
- data/lib/capybara/cucumber.rb +1 -1
- data/lib/capybara/driver/base.rb +2 -2
- data/lib/capybara/driver/node.rb +26 -5
- data/lib/capybara/dsl.rb +12 -4
- data/lib/capybara/helpers.rb +8 -4
- data/lib/capybara/minitest/spec.rb +162 -85
- data/lib/capybara/minitest.rb +248 -148
- data/lib/capybara/node/actions.rb +149 -96
- data/lib/capybara/node/base.rb +27 -10
- data/lib/capybara/node/document.rb +12 -0
- data/lib/capybara/node/document_matchers.rb +9 -5
- data/lib/capybara/node/element.rb +254 -109
- data/lib/capybara/node/finders.rb +83 -76
- data/lib/capybara/node/matchers.rb +279 -141
- data/lib/capybara/node/simple.rb +25 -6
- data/lib/capybara/queries/ancestor_query.rb +5 -7
- data/lib/capybara/queries/base_query.rb +11 -5
- data/lib/capybara/queries/current_path_query.rb +3 -3
- data/lib/capybara/queries/match_query.rb +1 -0
- data/lib/capybara/queries/selector_query.rb +467 -103
- data/lib/capybara/queries/sibling_query.rb +5 -4
- data/lib/capybara/queries/style_query.rb +6 -2
- data/lib/capybara/queries/text_query.rb +17 -3
- data/lib/capybara/queries/title_query.rb +2 -2
- data/lib/capybara/rack_test/browser.rb +22 -15
- data/lib/capybara/rack_test/driver.rb +10 -1
- data/lib/capybara/rack_test/errors.rb +6 -0
- data/lib/capybara/rack_test/form.rb +33 -28
- data/lib/capybara/rack_test/node.rb +74 -6
- data/lib/capybara/registration_container.rb +44 -0
- data/lib/capybara/registrations/drivers.rb +36 -0
- data/lib/capybara/registrations/patches/puma_ssl.rb +27 -0
- data/lib/capybara/registrations/servers.rb +44 -0
- data/lib/capybara/result.rb +55 -23
- data/lib/capybara/rspec/features.rb +4 -4
- data/lib/capybara/rspec/matcher_proxies.rb +36 -15
- data/lib/capybara/rspec/matchers/base.rb +111 -0
- data/lib/capybara/rspec/matchers/become_closed.rb +33 -0
- data/lib/capybara/rspec/matchers/compound.rb +88 -0
- data/lib/capybara/rspec/matchers/count_sugar.rb +37 -0
- data/lib/capybara/rspec/matchers/have_ancestor.rb +28 -0
- data/lib/capybara/rspec/matchers/have_current_path.rb +29 -0
- data/lib/capybara/rspec/matchers/have_selector.rb +77 -0
- data/lib/capybara/rspec/matchers/have_sibling.rb +27 -0
- data/lib/capybara/rspec/matchers/have_text.rb +33 -0
- data/lib/capybara/rspec/matchers/have_title.rb +29 -0
- data/lib/capybara/rspec/matchers/match_selector.rb +27 -0
- data/lib/capybara/rspec/matchers/match_style.rb +38 -0
- data/lib/capybara/rspec/matchers/spatial_sugar.rb +39 -0
- data/lib/capybara/rspec/matchers.rb +117 -311
- data/lib/capybara/selector/builders/css_builder.rb +84 -0
- data/lib/capybara/selector/builders/xpath_builder.rb +69 -0
- data/lib/capybara/selector/css.rb +17 -15
- data/lib/capybara/selector/definition/button.rb +52 -0
- data/lib/capybara/selector/definition/checkbox.rb +26 -0
- data/lib/capybara/selector/definition/css.rb +10 -0
- data/lib/capybara/selector/definition/datalist_input.rb +35 -0
- data/lib/capybara/selector/definition/datalist_option.rb +25 -0
- data/lib/capybara/selector/definition/element.rb +27 -0
- data/lib/capybara/selector/definition/field.rb +40 -0
- data/lib/capybara/selector/definition/fieldset.rb +14 -0
- data/lib/capybara/selector/definition/file_field.rb +13 -0
- data/lib/capybara/selector/definition/fillable_field.rb +33 -0
- data/lib/capybara/selector/definition/frame.rb +17 -0
- data/lib/capybara/selector/definition/id.rb +6 -0
- data/lib/capybara/selector/definition/label.rb +62 -0
- data/lib/capybara/selector/definition/link.rb +54 -0
- data/lib/capybara/selector/definition/link_or_button.rb +16 -0
- data/lib/capybara/selector/definition/option.rb +27 -0
- data/lib/capybara/selector/definition/radio_button.rb +27 -0
- data/lib/capybara/selector/definition/select.rb +81 -0
- data/lib/capybara/selector/definition/table.rb +109 -0
- data/lib/capybara/selector/definition/table_row.rb +21 -0
- data/lib/capybara/selector/definition/xpath.rb +5 -0
- data/lib/capybara/selector/definition.rb +277 -0
- data/lib/capybara/selector/filter.rb +1 -0
- data/lib/capybara/selector/filter_set.rb +26 -19
- data/lib/capybara/selector/filters/base.rb +24 -5
- data/lib/capybara/selector/filters/expression_filter.rb +3 -3
- data/lib/capybara/selector/filters/locator_filter.rb +29 -0
- data/lib/capybara/selector/filters/node_filter.rb +16 -2
- data/lib/capybara/selector/regexp_disassembler.rb +214 -0
- data/lib/capybara/selector/selector.rb +73 -367
- data/lib/capybara/selector/xpath_extensions.rb +17 -0
- data/lib/capybara/selector.rb +221 -480
- data/lib/capybara/selenium/atoms/getAttribute.min.js +1 -0
- data/lib/capybara/selenium/atoms/isDisplayed.min.js +1 -0
- data/lib/capybara/selenium/atoms/src/getAttribute.js +161 -0
- data/lib/capybara/selenium/atoms/src/isDisplayed.js +454 -0
- data/lib/capybara/selenium/driver.rb +203 -86
- data/lib/capybara/selenium/driver_specializations/chrome_driver.rb +88 -14
- data/lib/capybara/selenium/driver_specializations/edge_driver.rb +124 -0
- data/lib/capybara/selenium/driver_specializations/firefox_driver.rb +89 -0
- data/lib/capybara/selenium/driver_specializations/internet_explorer_driver.rb +26 -0
- data/lib/capybara/selenium/driver_specializations/safari_driver.rb +24 -0
- data/lib/capybara/selenium/extensions/file_input_click_emulation.rb +34 -0
- data/lib/capybara/selenium/extensions/find.rb +110 -0
- data/lib/capybara/selenium/extensions/html5_drag.rb +191 -22
- data/lib/capybara/selenium/extensions/modifier_keys_stack.rb +28 -0
- data/lib/capybara/selenium/extensions/scroll.rb +78 -0
- data/lib/capybara/selenium/logger_suppressor.rb +34 -0
- data/lib/capybara/selenium/node.rb +298 -93
- data/lib/capybara/selenium/nodes/chrome_node.rb +100 -8
- data/lib/capybara/selenium/nodes/edge_node.rb +104 -0
- data/lib/capybara/selenium/nodes/firefox_node.rb +131 -0
- data/lib/capybara/selenium/nodes/ie_node.rb +22 -0
- data/lib/capybara/selenium/nodes/safari_node.rb +118 -0
- data/lib/capybara/selenium/patches/action_pauser.rb +26 -0
- data/lib/capybara/selenium/patches/atoms.rb +18 -0
- data/lib/capybara/selenium/patches/is_displayed.rb +16 -0
- data/lib/capybara/selenium/patches/logs.rb +45 -0
- data/lib/capybara/selenium/patches/pause_duration_fix.rb +1 -3
- data/lib/capybara/selenium/patches/persistent_client.rb +20 -0
- data/lib/capybara/server/animation_disabler.rb +4 -3
- data/lib/capybara/server/checker.rb +6 -2
- data/lib/capybara/server/middleware.rb +23 -13
- data/lib/capybara/server.rb +30 -7
- data/lib/capybara/session/config.rb +14 -10
- data/lib/capybara/session/matchers.rb +11 -7
- data/lib/capybara/session.rb +152 -111
- data/lib/capybara/spec/public/offset.js +6 -0
- data/lib/capybara/spec/public/test.js +101 -10
- data/lib/capybara/spec/session/all_spec.rb +96 -6
- data/lib/capybara/spec/session/ancestor_spec.rb +5 -0
- data/lib/capybara/spec/session/assert_all_of_selectors_spec.rb +29 -0
- data/lib/capybara/spec/session/assert_current_path_spec.rb +5 -2
- data/lib/capybara/spec/session/assert_selector_spec.rb +0 -10
- data/lib/capybara/spec/session/assert_style_spec.rb +4 -4
- data/lib/capybara/spec/session/assert_text_spec.rb +9 -5
- data/lib/capybara/spec/session/attach_file_spec.rb +63 -36
- data/lib/capybara/spec/session/check_spec.rb +10 -4
- data/lib/capybara/spec/session/choose_spec.rb +8 -2
- data/lib/capybara/spec/session/click_button_spec.rb +117 -61
- data/lib/capybara/spec/session/click_link_or_button_spec.rb +16 -0
- data/lib/capybara/spec/session/click_link_spec.rb +17 -6
- data/lib/capybara/spec/session/element/matches_selector_spec.rb +40 -39
- data/lib/capybara/spec/session/evaluate_script_spec.rb +13 -0
- data/lib/capybara/spec/session/execute_script_spec.rb +1 -0
- data/lib/capybara/spec/session/fill_in_spec.rb +47 -6
- data/lib/capybara/spec/session/find_field_spec.rb +1 -1
- data/lib/capybara/spec/session/find_spec.rb +74 -4
- data/lib/capybara/spec/session/first_spec.rb +1 -1
- data/lib/capybara/spec/session/frame/switch_to_frame_spec.rb +13 -1
- data/lib/capybara/spec/session/frame/within_frame_spec.rb +12 -1
- data/lib/capybara/spec/session/has_all_selectors_spec.rb +1 -1
- data/lib/capybara/spec/session/has_ancestor_spec.rb +46 -0
- data/lib/capybara/spec/session/has_any_selectors_spec.rb +25 -0
- data/lib/capybara/spec/session/has_button_spec.rb +16 -0
- data/lib/capybara/spec/session/has_css_spec.rb +122 -12
- data/lib/capybara/spec/session/has_current_path_spec.rb +6 -4
- data/lib/capybara/spec/session/has_field_spec.rb +55 -0
- data/lib/capybara/spec/session/has_select_spec.rb +34 -6
- data/lib/capybara/spec/session/has_selector_spec.rb +11 -4
- data/lib/capybara/spec/session/has_sibling_spec.rb +50 -0
- data/lib/capybara/spec/session/has_table_spec.rb +166 -0
- data/lib/capybara/spec/session/has_text_spec.rb +48 -1
- data/lib/capybara/spec/session/has_xpath_spec.rb +17 -0
- data/lib/capybara/spec/session/html_spec.rb +7 -0
- data/lib/capybara/spec/session/matches_style_spec.rb +35 -0
- data/lib/capybara/spec/session/node_spec.rb +643 -18
- data/lib/capybara/spec/session/node_wrapper_spec.rb +1 -1
- data/lib/capybara/spec/session/refresh_spec.rb +4 -0
- data/lib/capybara/spec/session/reset_session_spec.rb +23 -8
- data/lib/capybara/spec/session/save_and_open_screenshot_spec.rb +2 -2
- data/lib/capybara/spec/session/save_screenshot_spec.rb +4 -4
- data/lib/capybara/spec/session/scroll_spec.rb +117 -0
- data/lib/capybara/spec/session/select_spec.rb +10 -10
- data/lib/capybara/spec/session/selectors_spec.rb +36 -5
- data/lib/capybara/spec/session/uncheck_spec.rb +2 -2
- data/lib/capybara/spec/session/unselect_spec.rb +1 -1
- data/lib/capybara/spec/session/window/become_closed_spec.rb +20 -17
- data/lib/capybara/spec/session/window/switch_to_window_spec.rb +4 -0
- data/lib/capybara/spec/session/window/window_opened_by_spec.rb +4 -0
- data/lib/capybara/spec/session/window/window_spec.rb +59 -58
- data/lib/capybara/spec/session/window/windows_spec.rb +4 -0
- data/lib/capybara/spec/session/within_spec.rb +23 -0
- data/lib/capybara/spec/spec_helper.rb +16 -6
- data/lib/capybara/spec/test_app.rb +28 -23
- data/lib/capybara/spec/views/animated.erb +49 -0
- data/lib/capybara/spec/views/form.erb +48 -7
- data/lib/capybara/spec/views/frame_child.erb +3 -2
- data/lib/capybara/spec/views/frame_one.erb +1 -0
- data/lib/capybara/spec/views/obscured.erb +47 -0
- data/lib/capybara/spec/views/offset.erb +32 -0
- data/lib/capybara/spec/views/react.erb +45 -0
- data/lib/capybara/spec/views/scroll.erb +20 -0
- data/lib/capybara/spec/views/spatial.erb +31 -0
- data/lib/capybara/spec/views/tables.erb +67 -0
- data/lib/capybara/spec/views/with_animation.erb +29 -1
- data/lib/capybara/spec/views/with_dragula.erb +24 -0
- data/lib/capybara/spec/views/with_hover.erb +1 -0
- data/lib/capybara/spec/views/with_hover1.erb +10 -0
- data/lib/capybara/spec/views/with_html.erb +32 -6
- data/lib/capybara/spec/views/with_js.erb +3 -1
- data/lib/capybara/spec/views/with_jstree.erb +26 -0
- data/lib/capybara/spec/views/with_scope_other.erb +6 -0
- data/lib/capybara/spec/views/with_sortable_js.erb +21 -0
- data/lib/capybara/version.rb +1 -1
- data/lib/capybara/window.rb +11 -11
- data/lib/capybara.rb +118 -111
- data/spec/basic_node_spec.rb +14 -3
- data/spec/capybara_spec.rb +29 -29
- data/spec/css_builder_spec.rb +101 -0
- data/spec/dsl_spec.rb +46 -21
- data/spec/filter_set_spec.rb +5 -5
- data/spec/fixtures/selenium_driver_rspec_failure.rb +1 -1
- data/spec/fixtures/selenium_driver_rspec_success.rb +1 -1
- data/spec/minitest_spec.rb +18 -4
- data/spec/minitest_spec_spec.rb +59 -44
- data/spec/rack_test_spec.rb +117 -89
- data/spec/regexp_dissassembler_spec.rb +250 -0
- data/spec/result_spec.rb +51 -49
- data/spec/rspec/features_spec.rb +3 -0
- data/spec/rspec/shared_spec_matchers.rb +112 -97
- data/spec/rspec_spec.rb +35 -17
- data/spec/sauce_spec_chrome.rb +43 -0
- data/spec/selector_spec.rb +244 -28
- data/spec/selenium_spec_chrome.rb +125 -54
- data/spec/selenium_spec_chrome_remote.rb +26 -12
- data/spec/selenium_spec_edge.rb +23 -8
- data/spec/selenium_spec_firefox.rb +208 -0
- data/spec/selenium_spec_firefox_remote.rb +15 -18
- data/spec/selenium_spec_ie.rb +82 -13
- data/spec/selenium_spec_safari.rb +148 -0
- data/spec/server_spec.rb +118 -77
- data/spec/session_spec.rb +19 -3
- data/spec/shared_selenium_node.rb +83 -0
- data/spec/shared_selenium_session.rb +110 -65
- data/spec/spec_helper.rb +57 -9
- data/spec/xpath_builder_spec.rb +93 -0
- metadata +257 -17
- data/lib/capybara/rspec/compound.rb +0 -94
- data/lib/capybara/selenium/driver_specializations/marionette_driver.rb +0 -49
- data/lib/capybara/selenium/nodes/marionette_node.rb +0 -121
- data/lib/capybara/spec/session/has_style_spec.rb +0 -25
- data/spec/selenium_spec_marionette.rb +0 -172
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ab64d9d47c6374c4f203945be70b868fb9e4c48d3fdca087ba4e66498e40b91c
|
|
4
|
+
data.tar.gz: 451c97390c148b5b0fad1b06107a4f0de87f17f7b8cef7156fb76ad2ee503f76
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b0ca3fd8a4535e1df696ddc7f547e066b873d3f4be2b54655fdbb0b6588c5086a87b93500e241e0da031b586c0b6a30cdd8522f209309cf6729c683226bfcf7f
|
|
7
|
+
data.tar.gz: d295dcd733856816a1c89810f4d54304a52c251d585afcc62b986a66d63e080e03ddc81bdc46cf51a044e29d2849ccce9bb3cb307a0757746e662394f648a717
|
data/.yardopts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
--markup markdown
|
data/History.md
CHANGED
|
@@ -1,3 +1,468 @@
|
|
|
1
|
+
# Version 3.33.0
|
|
2
|
+
Release date: 2020-06-21
|
|
3
|
+
|
|
4
|
+
### Added
|
|
5
|
+
|
|
6
|
+
* Block passed to `within_session` now receives the new and old session
|
|
7
|
+
* Support for aria-role button when enabled [Seiei Miyagi]
|
|
8
|
+
* Support for aria-role link when enabled
|
|
9
|
+
* Support for `validation_message` filter with :field and :fillable_field selectors
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
* Ruby 2.5.0+ is now required
|
|
14
|
+
* Deprecated direct manupulation of the driver and server registries
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
* Ruby 2.7 warning in minitest `assert_text` [Eileen M. Uchitelle]
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
# Version 3.32.2
|
|
22
|
+
Release date: 2020-05-16
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
|
|
26
|
+
* Don't use lazy enumerator with JRuby due to leaking threads
|
|
27
|
+
* Ruby 2.7 deprecation warning when registering Webrick [Jon Zeppieri]
|
|
28
|
+
* `have_text` description [Juan Pablo Rinaldi]
|
|
29
|
+
|
|
30
|
+
# Version 3.32.1
|
|
31
|
+
Release date: 2020-04-05
|
|
32
|
+
|
|
33
|
+
### Fixed
|
|
34
|
+
|
|
35
|
+
* Rapid set now respects field maxlength (Issue #2332)
|
|
36
|
+
* Only patch pause into legacy actions in Selenium < 4 (Issue #2334)
|
|
37
|
+
|
|
38
|
+
# Version 3.32.0
|
|
39
|
+
Release date: 2020-03-29
|
|
40
|
+
|
|
41
|
+
### Added
|
|
42
|
+
|
|
43
|
+
* Support `delay` setting on click with Selenium
|
|
44
|
+
* Implement rapid set for values longer thn 30 characters in text fields with Selenium
|
|
45
|
+
|
|
46
|
+
### Fixed
|
|
47
|
+
|
|
48
|
+
* Result#[] and negative max on ranges (Issue #2302/2303) [Jeremy Evans]
|
|
49
|
+
* RackTest form submission rewrites query string when using GET method
|
|
50
|
+
* Ruby 2.7 deprecation warnings in RSpec matcher proxies
|
|
51
|
+
|
|
52
|
+
# Version 3.31.0
|
|
53
|
+
Release date: 2020-01-26
|
|
54
|
+
|
|
55
|
+
### Added
|
|
56
|
+
|
|
57
|
+
* Support setting range inputs with the selenium driver [Andrew White]
|
|
58
|
+
* Support setting range inputs with the rack driver
|
|
59
|
+
* Support drop modifier keys in drag & drop [Elliot Crosby-McCullough]
|
|
60
|
+
* `enabled_options` and `disabled options` filters for select selector
|
|
61
|
+
* Support beginless ranges
|
|
62
|
+
* Optionally allow `all` results to be reloaded when stable - Beta feature - may be removed in
|
|
63
|
+
future version if problems occur
|
|
64
|
+
|
|
65
|
+
### Fixed
|
|
66
|
+
|
|
67
|
+
* Fix Ruby 2.7 deprecation notices around keyword arguments. I have tried to do this without
|
|
68
|
+
any breaking changes, but due to the nature of the 2.7 changes and some selector types accepting
|
|
69
|
+
Hashes as locators there are a lot of edge cases. If you find any broken cases please report
|
|
70
|
+
them and I'll see if they're fixable.
|
|
71
|
+
* Clicking on details/summary element behavior in rack_test driver_
|
|
72
|
+
|
|
73
|
+
# Version 3.30.0
|
|
74
|
+
Release date: 2019-12-24
|
|
75
|
+
|
|
76
|
+
### Added
|
|
77
|
+
|
|
78
|
+
* Display pending requests when they don't complete in time [Juan Carlos Medina]
|
|
79
|
+
* :order option in selector queries - set to :reverse to for reverse document order results
|
|
80
|
+
* Support regexp for :name and :placeholder options in selectors that import filters from
|
|
81
|
+
_field filter set
|
|
82
|
+
|
|
83
|
+
### Fixed
|
|
84
|
+
|
|
85
|
+
* Issue around automatic port assignment - Issue #2245
|
|
86
|
+
* Label selector when label has no id - Issue #2260
|
|
87
|
+
* Preserve clientX/clientY in Selenium HTML5 drag emulation [Nicolò G.]
|
|
88
|
+
* table selector using :with_cols option if last specified column matched but others didn't - Issue #2287
|
|
89
|
+
* Some tests updated for Ruby 2.7 behavior change around keyword args
|
|
90
|
+
|
|
91
|
+
# Version 3.29.0
|
|
92
|
+
Release date: 2019-09-02
|
|
93
|
+
|
|
94
|
+
### Added
|
|
95
|
+
|
|
96
|
+
* Allow clicking on file input when using the block version of `attach_file` with Chrome and Firefox
|
|
97
|
+
* Spatial filters (`left_of`, `right_of`, `above`, `below`, `near`)
|
|
98
|
+
* rack_test driver now supports clicking on details elements to open/close them
|
|
99
|
+
|
|
100
|
+
### Fixed
|
|
101
|
+
|
|
102
|
+
* rack_test driver correctly determines visibility for open details elements descendants
|
|
103
|
+
|
|
104
|
+
### Changed
|
|
105
|
+
|
|
106
|
+
* Results will now be lazily evaluated when using JRuby >= 9.2.8.0
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
# Version 3.28.0
|
|
110
|
+
Release date: 2019-08-03
|
|
111
|
+
|
|
112
|
+
### Added
|
|
113
|
+
|
|
114
|
+
* Allow forcing HTML5 or legacy dragging via the `:html5` option to `drag_to` when using Selenium with Chrome or Firefox
|
|
115
|
+
* Autodetection of drag type interprets not seeing the mousedown event as legacy.
|
|
116
|
+
* HTML5 form validation `:valid` node filter added to `:field` and `:fillable_field` selectors
|
|
117
|
+
* When using Capybara registered :puma server - patches Puma 4.0.x to fix SSL connection behavior. Removes
|
|
118
|
+
default `queue_requests` setting - Issue #2227
|
|
119
|
+
|
|
120
|
+
# Version 3.27.0
|
|
121
|
+
Release date: 2019-07-28
|
|
122
|
+
|
|
123
|
+
### Added
|
|
124
|
+
|
|
125
|
+
* Allow to use chromedriver/geckodriver native `is_element_displayed` endpoint via Selenium
|
|
126
|
+
driver `native_displayed` option for performance reasons. Disabled by default due to endpoints
|
|
127
|
+
currently not handling <details> element descendants visibility correctly.
|
|
128
|
+
|
|
129
|
+
### Fixed
|
|
130
|
+
|
|
131
|
+
* Ignore negative lookahead/lookbehind regex when performing initial XPath text matching
|
|
132
|
+
* Reloading of elements found via `ancestor` and `sibling`
|
|
133
|
+
* Only default puma settings to `queue_requests: false` when using SSL
|
|
134
|
+
* Visibility of descendants of <details> elements is correctly determined when using rack_test
|
|
135
|
+
and the selenium driver with Capybara optimized atoms
|
|
136
|
+
* local/session storage clearance in Chrome when clearing only one of them - Issue #2233
|
|
137
|
+
|
|
138
|
+
# Version 3.26.0
|
|
139
|
+
Release date: 2019-07-15
|
|
140
|
+
|
|
141
|
+
### Added
|
|
142
|
+
|
|
143
|
+
* `w3c_click_offset` configuration option applies to `right_click` and `double_click` as well as `click`
|
|
144
|
+
* Warning when passing `nil` to the text/content assertions/expectations
|
|
145
|
+
* `Session#server_url` returns the base url the AUT is being run at (when controlled by Capybara)
|
|
146
|
+
* `option` selector type accepts an integer as locator
|
|
147
|
+
|
|
148
|
+
### Fixed
|
|
149
|
+
|
|
150
|
+
* Default puma server registration now specifies `queue_requests: false` - Issue #2227
|
|
151
|
+
* Workaround issue with FF 68 and hanging during reset if a system modal is visible
|
|
152
|
+
* Don't expand file path if it's already absolute - Issue #2228
|
|
153
|
+
|
|
154
|
+
# Version 3.25.0
|
|
155
|
+
Release date: 2019-06-27
|
|
156
|
+
|
|
157
|
+
### Added
|
|
158
|
+
|
|
159
|
+
* Animation disabler also disables before and after pseudoelements - Issue #2221 [Daniel Heath]
|
|
160
|
+
* `w3c_click_offset` configuration option to determine whether click offsets are calculated from element
|
|
161
|
+
center or top left corner
|
|
162
|
+
|
|
163
|
+
### Fixed
|
|
164
|
+
|
|
165
|
+
* Woraround issue with chromedriver 76/77 in W3C mode losing mouse state during legacy drag. Only fixed if
|
|
166
|
+
both source and target are simultaenously inside the viewport - Issue #2223
|
|
167
|
+
* Negative ancestor expectations/predicates were incorrectly checking siblings rather than ancestors
|
|
168
|
+
|
|
169
|
+
# Version 3.24.0
|
|
170
|
+
Release date: 2019-06-13
|
|
171
|
+
|
|
172
|
+
### Added
|
|
173
|
+
|
|
174
|
+
* Log access when using the Selenium driver with Chrome 75 in W3C mode has been reenabled.
|
|
175
|
+
|
|
176
|
+
### Changed
|
|
177
|
+
|
|
178
|
+
* Selenium driver now selects all current content and then sends keys rather than clearing field by JS
|
|
179
|
+
and then sending keys when setting values to text inputs in order to more closely simulate user behavior
|
|
180
|
+
|
|
181
|
+
### Fixed
|
|
182
|
+
|
|
183
|
+
* Relative paths passed to `attach_file` will be assumed to be relative to the current working directory when using the
|
|
184
|
+
Selenium driver
|
|
185
|
+
|
|
186
|
+
# Version 3.23.0
|
|
187
|
+
Release date: 2019-06-10
|
|
188
|
+
|
|
189
|
+
### Added
|
|
190
|
+
|
|
191
|
+
* Improved error message when using Chrome in W3C mode and attempting to access logs
|
|
192
|
+
* Support driver specific options for Element#drag_to
|
|
193
|
+
* Support setting `<input type="color">` elements with the selenium driver
|
|
194
|
+
|
|
195
|
+
### Fixed
|
|
196
|
+
|
|
197
|
+
* Tightened conditions when in expression text option matching will be used
|
|
198
|
+
* Improved Selenium drivers HTML5 drag and drop emulation compatibility with SortableJS library (and others)
|
|
199
|
+
|
|
200
|
+
# Version 3.22.0
|
|
201
|
+
Release date: 2019-05-29
|
|
202
|
+
|
|
203
|
+
### Added
|
|
204
|
+
|
|
205
|
+
* `ancestor`/`sibling` assertions and matchers added
|
|
206
|
+
* Documentation Updates and Fixes - Many thanks again to Masafumi Koba! [Masafumi Koba]
|
|
207
|
+
* Added `:with` alias for `:option` filter on `:checkbox` and `:radio_button` selectors
|
|
208
|
+
|
|
209
|
+
### Changed
|
|
210
|
+
|
|
211
|
+
* Selenium driver with Chrome >= 73 now resets cookies and local/session storage after navigating
|
|
212
|
+
to 'about:blank' when possible to minimize potential race condition
|
|
213
|
+
|
|
214
|
+
# Version 3.21.0
|
|
215
|
+
Release date: 2019-05-24
|
|
216
|
+
|
|
217
|
+
### Added
|
|
218
|
+
|
|
219
|
+
* Element#drop - Chrome and Firefox, via the selenium driver, support dropping files/data on elements
|
|
220
|
+
* Default CSS used for `attach_file` `make_visible: true` now includes auto for
|
|
221
|
+
height and width to handle more ways of hiding the file input element
|
|
222
|
+
* Documentation Updates and Fixes - Many thanks to Masafumi Koba! [Masafumi Koba]
|
|
223
|
+
|
|
224
|
+
### Changed
|
|
225
|
+
|
|
226
|
+
* Deprecate support for CSS locator being a Symbol
|
|
227
|
+
|
|
228
|
+
# Version 3.20.2
|
|
229
|
+
Release date: 2019-05-19
|
|
230
|
+
|
|
231
|
+
### Fixed
|
|
232
|
+
|
|
233
|
+
* Move `uglifier` from runtime to development dependency [miyucy]
|
|
234
|
+
|
|
235
|
+
# Version 3.20.1
|
|
236
|
+
Release date: 2019-05-17
|
|
237
|
+
|
|
238
|
+
### Fixed
|
|
239
|
+
|
|
240
|
+
* RackTest driver considers <template> elements to be non-visible and ignores the contents
|
|
241
|
+
|
|
242
|
+
# Version 3.20.0
|
|
243
|
+
Release date: 2019-05-14
|
|
244
|
+
|
|
245
|
+
### Added
|
|
246
|
+
|
|
247
|
+
* `Node#obscured?` to check viewport presence and element overlap
|
|
248
|
+
* `:obscured` system filter to check whether elements are obscured in finders, assertions, and expectations
|
|
249
|
+
* :label selector :for option can be a regexp
|
|
250
|
+
* Significantly smaller `isDisplayed`/`getAttribute` atoms for selenium driver. If these produce issues you can disable their use
|
|
251
|
+
by setting an environment variable named 'DISABLE_CAPYBARA_SELENIUM_OPTIMIZATIONS' (Please also report any issues).
|
|
252
|
+
* `href: false` option with `find_link`/`click_link`/:link selector ignores `href` presence/absence
|
|
253
|
+
|
|
254
|
+
### Fixed
|
|
255
|
+
|
|
256
|
+
* Workaround Safari issue with send_keys not correctly using top level modifiers
|
|
257
|
+
* Workaround Safari not retrying click due to incorrect error type
|
|
258
|
+
* Fix Safari attach_file block mode when clicking elements associated to the file input
|
|
259
|
+
* Workaround Safari issue with repeated hover
|
|
260
|
+
|
|
261
|
+
# Version 3.19.1
|
|
262
|
+
Release date: 2019-05-11
|
|
263
|
+
|
|
264
|
+
### Fixed
|
|
265
|
+
|
|
266
|
+
* Fix access to specializations when Selenium::Driver is subclassed [James Mead]
|
|
267
|
+
|
|
268
|
+
# Version 3.19.0
|
|
269
|
+
Release date: 2019-05-09
|
|
270
|
+
|
|
271
|
+
### Added
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
* Syntactic sugar `#once`, `#twice`, `#thrice`, `#exactly`, `#at_least`, `#at_most`, and `#times`
|
|
275
|
+
added to `have_selector`, `have_css`, `have_xpath`, and `have_text` RSpec matchers
|
|
276
|
+
* Support for multiple expression types in Selector definitions
|
|
277
|
+
* Reduced wirecalls for common actions in Selenium driver
|
|
278
|
+
|
|
279
|
+
### Fixed
|
|
280
|
+
|
|
281
|
+
* Workaround Chrome 75 appending files to multiple file inputs
|
|
282
|
+
* Suppressed retry when detecting http vs https server connection
|
|
283
|
+
|
|
284
|
+
# Version 3.18.0
|
|
285
|
+
Release date: 2019-04-22
|
|
286
|
+
|
|
287
|
+
### Added
|
|
288
|
+
|
|
289
|
+
* XPath Selector query optimized to make use of Regexp :text option in initial element find
|
|
290
|
+
|
|
291
|
+
### Fixed
|
|
292
|
+
|
|
293
|
+
* Workaround issue where Chrome/chromedriver 74 can return the wrong error type when a click is intercepted
|
|
294
|
+
|
|
295
|
+
# Version 3.17.0
|
|
296
|
+
Release date: 2019-04-18
|
|
297
|
+
|
|
298
|
+
### Added
|
|
299
|
+
|
|
300
|
+
* Initial support for selenium-webdriver 4.0.0.alpha1
|
|
301
|
+
* :button selector will now also match on `name` attribute
|
|
302
|
+
|
|
303
|
+
### Fixed
|
|
304
|
+
|
|
305
|
+
* Suppress warnings generated by using selenium-webdriver 3.141.5926
|
|
306
|
+
* Mask Appium issue with finder visibility optimizations (non-optimal)
|
|
307
|
+
|
|
308
|
+
# Version 3.16.2
|
|
309
|
+
Release date: 2019-04-10
|
|
310
|
+
|
|
311
|
+
### Fixed
|
|
312
|
+
|
|
313
|
+
* Fix Session#quit resetting of memoized document
|
|
314
|
+
|
|
315
|
+
# Version 3.16.1
|
|
316
|
+
Release date: 2019-03-30
|
|
317
|
+
|
|
318
|
+
### Fixed
|
|
319
|
+
|
|
320
|
+
* Fix potential 'uninitialized constant' error when using the :selenium_chrome driver [jeffclemens-ab]
|
|
321
|
+
|
|
322
|
+
# Version 3.16
|
|
323
|
+
Release date: 2019-03-28
|
|
324
|
+
|
|
325
|
+
### Changed
|
|
326
|
+
|
|
327
|
+
* Ruby 2.4.0+ is now required
|
|
328
|
+
* Selenium driver now defaults to using a persistent http client connection
|
|
329
|
+
|
|
330
|
+
### Added
|
|
331
|
+
|
|
332
|
+
* :wait option in predicates now accepts `true` to selectively override when `Capybara.predicates_wait == false`
|
|
333
|
+
|
|
334
|
+
# Version 3.15
|
|
335
|
+
Release date: 2019-03-19
|
|
336
|
+
|
|
337
|
+
### Added
|
|
338
|
+
|
|
339
|
+
* `attach_file` now supports a block mode on JS capable drivers to more accurately test user behavior when file inputs are hidden (beta)
|
|
340
|
+
* :table selector now supports `with_rows`, 'rows', `with_cols`, and 'cols' filters
|
|
341
|
+
|
|
342
|
+
### Fixed
|
|
343
|
+
|
|
344
|
+
* Fix link selector when `Capybara.test_id` is set - Issue #2166 [bingjyang]
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
# Version 3.14
|
|
348
|
+
Release date: 2019-02-25
|
|
349
|
+
|
|
350
|
+
### Added
|
|
351
|
+
|
|
352
|
+
* rack_test driver now supports reloading elements when the document changes - Issue #2157
|
|
353
|
+
* Selenium driver HTML5 drag-drop emulation now emits multiple move events so drag direction
|
|
354
|
+
is determinable [Erkki Eilonen, Thomas Walpole]
|
|
355
|
+
* Capybara.server_errors now defaults to [Exception] - Issue #2160 [Edgars Beigarts]
|
|
356
|
+
### Fixed
|
|
357
|
+
|
|
358
|
+
* Workaround hover issue with FF 65 - Issue #2156
|
|
359
|
+
* Workaround chromedriver issue when setting blank strings to react controlled text fields
|
|
360
|
+
* Workaround chromedriver issue with popup windows not loading content - https://bugs.chromium.org/p/chromedriver/issues/detail?id=2650&q=load&sort=-id&colspec=ID%20Status%20Pri%20Owner%20Summary
|
|
361
|
+
|
|
362
|
+
# Version 3.13.2
|
|
363
|
+
Release date: 2019-01-24
|
|
364
|
+
|
|
365
|
+
### Fixed
|
|
366
|
+
|
|
367
|
+
* Remove extraneous output
|
|
368
|
+
|
|
369
|
+
# Version 3.13.1
|
|
370
|
+
Release date: 2019-01-24
|
|
371
|
+
|
|
372
|
+
### Fixed
|
|
373
|
+
|
|
374
|
+
* Only use Selenium visibility optimization when JS atom is available - Issue #2151
|
|
375
|
+
|
|
376
|
+
# Version 3.13.0
|
|
377
|
+
Release date: 2019-01-23
|
|
378
|
+
|
|
379
|
+
### Added
|
|
380
|
+
|
|
381
|
+
* Session#quit added
|
|
382
|
+
* #scroll_to added to allow scrolling page/elements to specified locations
|
|
383
|
+
* Speed optimizations around multiple element location and path generation when using the Selenium driver
|
|
384
|
+
* Support for locator type checking in custom selectors
|
|
385
|
+
* Allow configuration of gumbo use - defaults to off
|
|
386
|
+
* `assert_style`/`has_style`/`have_style` deprecated in favor of `assert_matches_style`/`matches_styles?`/`match_style`
|
|
387
|
+
* :style filter added to selectors
|
|
388
|
+
|
|
389
|
+
# Version 3.12.0
|
|
390
|
+
Release date: 2018-11-28
|
|
391
|
+
|
|
392
|
+
### Added
|
|
393
|
+
|
|
394
|
+
* Support Ruby 2.6 endless range in Result#[] and query `:between` option
|
|
395
|
+
* Pre-registered headless firefox driver :selenium_headless [Andrew Havens]
|
|
396
|
+
* 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
|
|
397
|
+
|
|
398
|
+
### Fixed
|
|
399
|
+
|
|
400
|
+
* Raise error if only :x or :y are passed as an offset to click methods
|
|
401
|
+
|
|
402
|
+
### Removed
|
|
403
|
+
|
|
404
|
+
* Support for RSpec < 3.5
|
|
405
|
+
|
|
406
|
+
# Version 3.11.1
|
|
407
|
+
Release date: 2018-11-16
|
|
408
|
+
|
|
409
|
+
### Fixed
|
|
410
|
+
|
|
411
|
+
* Fixed :link_or_button XPath generation when it has had an expression filter added
|
|
412
|
+
|
|
413
|
+
# Version 3.11.0
|
|
414
|
+
Release date: 2018-11-14
|
|
415
|
+
|
|
416
|
+
### Added
|
|
417
|
+
|
|
418
|
+
* Ability for node filters to set detailed error messages
|
|
419
|
+
* `Capybara::HTML` Will use `nokogumbo` for HTML parsing if installed
|
|
420
|
+
* `Selector#locator_filter` added to allow for dynamic locator in selectors
|
|
421
|
+
|
|
422
|
+
### Fixed
|
|
423
|
+
|
|
424
|
+
* Node filters are evaluated in the context of the Selector they are used in to ensure the correct options are used
|
|
425
|
+
|
|
426
|
+
# Version 3.10.1
|
|
427
|
+
Release date: 2018-11-03
|
|
428
|
+
|
|
429
|
+
### Fixed
|
|
430
|
+
|
|
431
|
+
* Fix `aria-label` and `test_id` matching for `link_or_button` selector type - Issue #2125
|
|
432
|
+
* Fixed crash in element path creation for matcher failure messages - Issue #2120
|
|
433
|
+
|
|
434
|
+
# Version 3.10.0
|
|
435
|
+
Release date: 2018-10-23
|
|
436
|
+
|
|
437
|
+
### Added
|
|
438
|
+
|
|
439
|
+
* :class filter can now check for class names starting with !
|
|
440
|
+
* Selector `xpath`/`css` expression definitions will get filter names from block parameters if not explicitly provided
|
|
441
|
+
* `any_of_selectors` assertions and matchers to complement `all_of_selectors` and `none_of_selectors`
|
|
442
|
+
|
|
443
|
+
### Fixed
|
|
444
|
+
|
|
445
|
+
* Selector `css` expression definiton declared filters now work again
|
|
446
|
+
* Cleaned up warnings [Yuji Yaginuma]
|
|
447
|
+
* 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
|
|
448
|
+
|
|
449
|
+
# Version 3.9.0
|
|
450
|
+
Release date: 2018-10-03
|
|
451
|
+
|
|
452
|
+
### Added
|
|
453
|
+
|
|
454
|
+
* Selenium with Chrome removes all cookies at session reset instead of just cookies from current domain if possible
|
|
455
|
+
* Support for Regexp for system :id and :class filters where possible
|
|
456
|
+
* `using_session` now accepts a session object as well as the name of the session for users who manually manage sessions
|
|
457
|
+
* The `:field` selector will now find `type = "hidden"` fields if the `type: "hidden"` filter option is provided
|
|
458
|
+
|
|
459
|
+
# Version 3.8.2
|
|
460
|
+
Release date: 2018-09-26
|
|
461
|
+
|
|
462
|
+
### Fixed
|
|
463
|
+
|
|
464
|
+
* Fixed negated class selector option - Issue #2103
|
|
465
|
+
|
|
1
466
|
# Version 3.8.1
|
|
2
467
|
Release date: 2018-09-22
|
|
3
468
|
|
data/License.txt
CHANGED