capybara 3.32.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.yardopts +1 -0
- data/History.md +1813 -0
- data/License.txt +22 -0
- data/README.md +1099 -0
- data/lib/capybara.rb +511 -0
- data/lib/capybara/config.rb +94 -0
- data/lib/capybara/cucumber.rb +27 -0
- data/lib/capybara/driver/base.rb +170 -0
- data/lib/capybara/driver/node.rb +139 -0
- data/lib/capybara/dsl.rb +65 -0
- data/lib/capybara/helpers.rb +108 -0
- data/lib/capybara/minitest.rb +386 -0
- data/lib/capybara/minitest/spec.rb +264 -0
- data/lib/capybara/node/actions.rb +420 -0
- data/lib/capybara/node/base.rb +143 -0
- data/lib/capybara/node/document.rb +48 -0
- data/lib/capybara/node/document_matchers.rb +67 -0
- data/lib/capybara/node/element.rb +606 -0
- data/lib/capybara/node/finders.rb +325 -0
- data/lib/capybara/node/matchers.rb +883 -0
- data/lib/capybara/node/simple.rb +208 -0
- data/lib/capybara/queries/ancestor_query.rb +27 -0
- data/lib/capybara/queries/base_query.rb +106 -0
- data/lib/capybara/queries/current_path_query.rb +51 -0
- data/lib/capybara/queries/match_query.rb +26 -0
- data/lib/capybara/queries/selector_query.rb +710 -0
- data/lib/capybara/queries/sibling_query.rb +26 -0
- data/lib/capybara/queries/style_query.rb +45 -0
- data/lib/capybara/queries/text_query.rb +110 -0
- data/lib/capybara/queries/title_query.rb +39 -0
- data/lib/capybara/rack_test/browser.rb +140 -0
- data/lib/capybara/rack_test/css_handlers.rb +13 -0
- data/lib/capybara/rack_test/driver.rb +109 -0
- data/lib/capybara/rack_test/errors.rb +6 -0
- data/lib/capybara/rack_test/form.rb +127 -0
- data/lib/capybara/rack_test/node.rb +325 -0
- data/lib/capybara/rails.rb +16 -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 +190 -0
- data/lib/capybara/rspec.rb +29 -0
- data/lib/capybara/rspec/features.rb +23 -0
- data/lib/capybara/rspec/matcher_proxies.rb +82 -0
- data/lib/capybara/rspec/matchers.rb +201 -0
- 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/selector.rb +233 -0
- 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 +102 -0
- data/lib/capybara/selector/definition.rb +276 -0
- data/lib/capybara/selector/definition/button.rb +51 -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 +46 -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/filter.rb +5 -0
- data/lib/capybara/selector/filter_set.rb +124 -0
- data/lib/capybara/selector/filters/base.rb +77 -0
- data/lib/capybara/selector/filters/expression_filter.rb +22 -0
- data/lib/capybara/selector/filters/locator_filter.rb +29 -0
- data/lib/capybara/selector/filters/node_filter.rb +31 -0
- data/lib/capybara/selector/regexp_disassembler.rb +214 -0
- data/lib/capybara/selector/selector.rb +147 -0
- data/lib/capybara/selector/xpath_extensions.rb +17 -0
- 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 +496 -0
- data/lib/capybara/selenium/driver_specializations/chrome_driver.rb +119 -0
- data/lib/capybara/selenium/driver_specializations/edge_driver.rb +126 -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 +228 -0
- 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 +610 -0
- data/lib/capybara/selenium/nodes/chrome_node.rb +119 -0
- 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 +47 -0
- data/lib/capybara/selenium/patches/pause_duration_fix.rb +9 -0
- data/lib/capybara/selenium/patches/persistent_client.rb +20 -0
- data/lib/capybara/server.rb +126 -0
- data/lib/capybara/server/animation_disabler.rb +58 -0
- data/lib/capybara/server/checker.rb +44 -0
- data/lib/capybara/server/middleware.rb +69 -0
- data/lib/capybara/session.rb +942 -0
- data/lib/capybara/session/config.rb +124 -0
- data/lib/capybara/session/matchers.rb +87 -0
- data/lib/capybara/spec/fixtures/another_test_file.txt +1 -0
- data/lib/capybara/spec/fixtures/capybara.jpg +3 -0
- data/lib/capybara/spec/fixtures/no_extension +1 -0
- data/lib/capybara/spec/fixtures/test_file.txt +1 -0
- data/lib/capybara/spec/public/jquery-ui.js +13 -0
- data/lib/capybara/spec/public/jquery.js +5 -0
- data/lib/capybara/spec/public/offset.js +6 -0
- data/lib/capybara/spec/public/test.js +268 -0
- data/lib/capybara/spec/session/accept_alert_spec.rb +81 -0
- data/lib/capybara/spec/session/accept_confirm_spec.rb +32 -0
- data/lib/capybara/spec/session/accept_prompt_spec.rb +78 -0
- data/lib/capybara/spec/session/all_spec.rb +278 -0
- data/lib/capybara/spec/session/ancestor_spec.rb +88 -0
- data/lib/capybara/spec/session/assert_all_of_selectors_spec.rb +140 -0
- data/lib/capybara/spec/session/assert_current_path_spec.rb +75 -0
- data/lib/capybara/spec/session/assert_selector_spec.rb +143 -0
- data/lib/capybara/spec/session/assert_style_spec.rb +26 -0
- data/lib/capybara/spec/session/assert_text_spec.rb +258 -0
- data/lib/capybara/spec/session/assert_title_spec.rb +93 -0
- data/lib/capybara/spec/session/attach_file_spec.rb +216 -0
- data/lib/capybara/spec/session/body_spec.rb +23 -0
- data/lib/capybara/spec/session/check_spec.rb +235 -0
- data/lib/capybara/spec/session/choose_spec.rb +121 -0
- data/lib/capybara/spec/session/click_button_spec.rb +506 -0
- data/lib/capybara/spec/session/click_link_or_button_spec.rb +129 -0
- data/lib/capybara/spec/session/click_link_spec.rb +229 -0
- data/lib/capybara/spec/session/current_scope_spec.rb +31 -0
- data/lib/capybara/spec/session/current_url_spec.rb +115 -0
- data/lib/capybara/spec/session/dismiss_confirm_spec.rb +36 -0
- data/lib/capybara/spec/session/dismiss_prompt_spec.rb +21 -0
- data/lib/capybara/spec/session/element/assert_match_selector_spec.rb +38 -0
- data/lib/capybara/spec/session/element/match_css_spec.rb +31 -0
- data/lib/capybara/spec/session/element/match_xpath_spec.rb +25 -0
- data/lib/capybara/spec/session/element/matches_selector_spec.rb +120 -0
- data/lib/capybara/spec/session/evaluate_async_script_spec.rb +23 -0
- data/lib/capybara/spec/session/evaluate_script_spec.rb +49 -0
- data/lib/capybara/spec/session/execute_script_spec.rb +28 -0
- data/lib/capybara/spec/session/fill_in_spec.rb +286 -0
- data/lib/capybara/spec/session/find_button_spec.rb +74 -0
- data/lib/capybara/spec/session/find_by_id_spec.rb +33 -0
- data/lib/capybara/spec/session/find_field_spec.rb +113 -0
- data/lib/capybara/spec/session/find_link_spec.rb +70 -0
- data/lib/capybara/spec/session/find_spec.rb +531 -0
- data/lib/capybara/spec/session/first_spec.rb +156 -0
- data/lib/capybara/spec/session/frame/frame_title_spec.rb +23 -0
- data/lib/capybara/spec/session/frame/frame_url_spec.rb +23 -0
- data/lib/capybara/spec/session/frame/switch_to_frame_spec.rb +116 -0
- data/lib/capybara/spec/session/frame/within_frame_spec.rb +112 -0
- data/lib/capybara/spec/session/go_back_spec.rb +12 -0
- data/lib/capybara/spec/session/go_forward_spec.rb +14 -0
- data/lib/capybara/spec/session/has_all_selectors_spec.rb +69 -0
- 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 +69 -0
- data/lib/capybara/spec/session/has_css_spec.rb +374 -0
- data/lib/capybara/spec/session/has_current_path_spec.rb +138 -0
- data/lib/capybara/spec/session/has_field_spec.rb +349 -0
- data/lib/capybara/spec/session/has_link_spec.rb +39 -0
- data/lib/capybara/spec/session/has_none_selectors_spec.rb +78 -0
- data/lib/capybara/spec/session/has_select_spec.rb +310 -0
- data/lib/capybara/spec/session/has_selector_spec.rb +202 -0
- data/lib/capybara/spec/session/has_sibling_spec.rb +50 -0
- data/lib/capybara/spec/session/has_table_spec.rb +198 -0
- data/lib/capybara/spec/session/has_text_spec.rb +394 -0
- data/lib/capybara/spec/session/has_title_spec.rb +71 -0
- data/lib/capybara/spec/session/has_xpath_spec.rb +149 -0
- data/lib/capybara/spec/session/headers_spec.rb +8 -0
- data/lib/capybara/spec/session/html_spec.rb +47 -0
- data/lib/capybara/spec/session/matches_style_spec.rb +35 -0
- data/lib/capybara/spec/session/node_spec.rb +1292 -0
- data/lib/capybara/spec/session/node_wrapper_spec.rb +39 -0
- data/lib/capybara/spec/session/refresh_spec.rb +33 -0
- data/lib/capybara/spec/session/reset_session_spec.rb +148 -0
- data/lib/capybara/spec/session/response_code_spec.rb +8 -0
- data/lib/capybara/spec/session/save_and_open_page_spec.rb +21 -0
- data/lib/capybara/spec/session/save_and_open_screenshot_spec.rb +43 -0
- data/lib/capybara/spec/session/save_page_spec.rb +110 -0
- data/lib/capybara/spec/session/save_screenshot_spec.rb +55 -0
- data/lib/capybara/spec/session/screenshot_spec.rb +18 -0
- data/lib/capybara/spec/session/scroll_spec.rb +117 -0
- data/lib/capybara/spec/session/select_spec.rb +229 -0
- data/lib/capybara/spec/session/selectors_spec.rb +98 -0
- data/lib/capybara/spec/session/sibling_spec.rb +52 -0
- data/lib/capybara/spec/session/source_spec.rb +0 -0
- data/lib/capybara/spec/session/text_spec.rb +74 -0
- data/lib/capybara/spec/session/title_spec.rb +29 -0
- data/lib/capybara/spec/session/uncheck_spec.rb +100 -0
- data/lib/capybara/spec/session/unselect_spec.rb +116 -0
- data/lib/capybara/spec/session/visit_spec.rb +204 -0
- data/lib/capybara/spec/session/window/become_closed_spec.rb +89 -0
- data/lib/capybara/spec/session/window/current_window_spec.rb +28 -0
- data/lib/capybara/spec/session/window/open_new_window_spec.rb +31 -0
- data/lib/capybara/spec/session/window/switch_to_window_spec.rb +132 -0
- data/lib/capybara/spec/session/window/window_opened_by_spec.rb +99 -0
- data/lib/capybara/spec/session/window/window_spec.rb +203 -0
- data/lib/capybara/spec/session/window/windows_spec.rb +34 -0
- data/lib/capybara/spec/session/window/within_window_spec.rb +157 -0
- data/lib/capybara/spec/session/within_spec.rb +199 -0
- data/lib/capybara/spec/spec_helper.rb +134 -0
- data/lib/capybara/spec/test_app.rb +226 -0
- data/lib/capybara/spec/views/animated.erb +49 -0
- data/lib/capybara/spec/views/buttons.erb +5 -0
- data/lib/capybara/spec/views/fieldsets.erb +30 -0
- data/lib/capybara/spec/views/form.erb +685 -0
- data/lib/capybara/spec/views/frame_child.erb +18 -0
- data/lib/capybara/spec/views/frame_one.erb +10 -0
- data/lib/capybara/spec/views/frame_parent.erb +9 -0
- data/lib/capybara/spec/views/frame_two.erb +9 -0
- data/lib/capybara/spec/views/header_links.erb +8 -0
- data/lib/capybara/spec/views/host_links.erb +13 -0
- data/lib/capybara/spec/views/initial_alert.erb +10 -0
- data/lib/capybara/spec/views/obscured.erb +47 -0
- data/lib/capybara/spec/views/offset.erb +32 -0
- data/lib/capybara/spec/views/path.erb +13 -0
- data/lib/capybara/spec/views/popup_one.erb +9 -0
- data/lib/capybara/spec/views/popup_two.erb +9 -0
- data/lib/capybara/spec/views/postback.erb +14 -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 +130 -0
- data/lib/capybara/spec/views/with_animation.erb +74 -0
- data/lib/capybara/spec/views/with_base_tag.erb +11 -0
- data/lib/capybara/spec/views/with_count.erb +8 -0
- data/lib/capybara/spec/views/with_dragula.erb +22 -0
- data/lib/capybara/spec/views/with_fixed_header_footer.erb +17 -0
- data/lib/capybara/spec/views/with_hover.erb +24 -0
- data/lib/capybara/spec/views/with_hover1.erb +10 -0
- data/lib/capybara/spec/views/with_html.erb +208 -0
- data/lib/capybara/spec/views/with_html5_svg.erb +20 -0
- data/lib/capybara/spec/views/with_html_entities.erb +2 -0
- data/lib/capybara/spec/views/with_js.erb +160 -0
- data/lib/capybara/spec/views/with_jstree.erb +26 -0
- data/lib/capybara/spec/views/with_namespace.erb +20 -0
- data/lib/capybara/spec/views/with_scope.erb +42 -0
- data/lib/capybara/spec/views/with_scope_other.erb +6 -0
- data/lib/capybara/spec/views/with_simple_html.erb +2 -0
- data/lib/capybara/spec/views/with_slow_unload.erb +17 -0
- data/lib/capybara/spec/views/with_sortable_js.erb +21 -0
- data/lib/capybara/spec/views/with_title.erb +5 -0
- data/lib/capybara/spec/views/with_unload_alert.erb +14 -0
- data/lib/capybara/spec/views/with_windows.erb +54 -0
- data/lib/capybara/spec/views/within_frames.erb +15 -0
- data/lib/capybara/version.rb +5 -0
- data/lib/capybara/window.rb +146 -0
- data/spec/basic_node_spec.rb +154 -0
- data/spec/capybara_spec.rb +112 -0
- data/spec/css_builder_spec.rb +101 -0
- data/spec/css_splitter_spec.rb +38 -0
- data/spec/dsl_spec.rb +276 -0
- data/spec/filter_set_spec.rb +46 -0
- data/spec/fixtures/capybara.csv +1 -0
- data/spec/fixtures/certificate.pem +25 -0
- data/spec/fixtures/key.pem +27 -0
- data/spec/fixtures/selenium_driver_rspec_failure.rb +13 -0
- data/spec/fixtures/selenium_driver_rspec_success.rb +13 -0
- data/spec/minitest_spec.rb +163 -0
- data/spec/minitest_spec_spec.rb +162 -0
- data/spec/per_session_config_spec.rb +68 -0
- data/spec/rack_test_spec.rb +268 -0
- data/spec/regexp_dissassembler_spec.rb +250 -0
- data/spec/result_spec.rb +196 -0
- data/spec/rspec/features_spec.rb +99 -0
- data/spec/rspec/scenarios_spec.rb +19 -0
- data/spec/rspec/shared_spec_matchers.rb +947 -0
- data/spec/rspec/views_spec.rb +14 -0
- data/spec/rspec_matchers_spec.rb +62 -0
- data/spec/rspec_spec.rb +145 -0
- data/spec/sauce_spec_chrome.rb +43 -0
- data/spec/selector_spec.rb +513 -0
- data/spec/selenium_spec_chrome.rb +188 -0
- data/spec/selenium_spec_chrome_remote.rb +96 -0
- data/spec/selenium_spec_edge.rb +47 -0
- data/spec/selenium_spec_firefox.rb +208 -0
- data/spec/selenium_spec_firefox_remote.rb +80 -0
- data/spec/selenium_spec_ie.rb +150 -0
- data/spec/selenium_spec_safari.rb +148 -0
- data/spec/server_spec.rb +292 -0
- data/spec/session_spec.rb +91 -0
- data/spec/shared_selenium_node.rb +83 -0
- data/spec/shared_selenium_session.rb +476 -0
- data/spec/spec_helper.rb +100 -0
- data/spec/xpath_builder_spec.rb +93 -0
- metadata +753 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 410e79ae955fb505f242247fae85f0b738307e685c2e62cc7a4fda936f5be86a
|
4
|
+
data.tar.gz: d815d9d84f898e72aa08003e3370c673e169e08a794df6804459c18a65d7d367
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 60471fefa8d5bc99eddaa19afcd35ff8b382f7fbede21ffac5d402b89ca54d89b9252ebffde8eb0565d820d3d1d0136d943912dd9da18f9366e3b75660870e4e
|
7
|
+
data.tar.gz: 3fb1b539d4a128e6e2ba3f7fcd5e9daff0f64c60691eef1a2c69c166668c3ad28fbd3bbd5414162e73f86fc51e608f18065075b0956f5ea923c572d32d585052
|
data/.yardopts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--markup markdown
|
data/History.md
ADDED
@@ -0,0 +1,1813 @@
|
|
1
|
+
# Version 3.32.2
|
2
|
+
Release date: 2020-05-16
|
3
|
+
|
4
|
+
### Fixed
|
5
|
+
|
6
|
+
* Don't use lazy enumerator with JRuby due to leaking threads
|
7
|
+
* Ruby 2,7 deprecation warning when registering Webrick [Jon Zeppieri]
|
8
|
+
* `have_text` description [Juan Pablo Rinaldi]
|
9
|
+
|
10
|
+
# Version 3.32.1
|
11
|
+
Release date: 2020-04-05
|
12
|
+
|
13
|
+
### Fixed
|
14
|
+
|
15
|
+
* Rapid set now respects field maxlength (Issue #2332)
|
16
|
+
* Only patch pause into legacy actions in Selenium < 4 (Issue #2334)
|
17
|
+
|
18
|
+
# Version 3.32.0
|
19
|
+
Release date: 2020-03-29
|
20
|
+
|
21
|
+
### Added
|
22
|
+
|
23
|
+
* Support `delay` setting on click with Selenium
|
24
|
+
* Implement rapid set for values longer thn 30 characters in text fields with Selenium
|
25
|
+
|
26
|
+
### Fixed
|
27
|
+
|
28
|
+
* Result#[] and negative max on ranges (Issue #2302/2303) [Jeremy Evans]
|
29
|
+
* RackTest form submission rewrites query string when using GET method
|
30
|
+
* Ruby 2.7 deprecation warnings in RSpec matcher proxies
|
31
|
+
|
32
|
+
# Version 3.31.0
|
33
|
+
Release date: 2020-01-26
|
34
|
+
|
35
|
+
### Added
|
36
|
+
|
37
|
+
* Support setting range inputs with the selenium driver [Andrew White]
|
38
|
+
* Support setting range inputs with the rack driver
|
39
|
+
* Support drop modifier keys in drag & drop [Elliot Crosby-McCullough]
|
40
|
+
* `enabled_options` and `disabled options` filters for select selector
|
41
|
+
* Support beginless ranges
|
42
|
+
* Optionally allow `all` results to be reloaded when stable - Beta feature - may be removed in
|
43
|
+
future version if problems occur
|
44
|
+
|
45
|
+
### Fixed
|
46
|
+
|
47
|
+
* Fix Ruby 2.7 deprecation notices around keyword arguments. I have tried to do this without
|
48
|
+
any breaking changes, but due to the nature of the 2.7 changes and some selector types accepting
|
49
|
+
Hashes as locators there are a lot of edge cases. If you find any broken cases please report
|
50
|
+
them and I'll see if they're fixable.
|
51
|
+
* Clicking on details/summary element behavior in rack_test driver_
|
52
|
+
|
53
|
+
# Version 3.30.0
|
54
|
+
Release date: 2019-12-24
|
55
|
+
|
56
|
+
### Added
|
57
|
+
|
58
|
+
* Display pending requests when they don't complete in time [Juan Carlos Medina]
|
59
|
+
* :order option in selector queries - set to :reverse to for reverse document order results
|
60
|
+
* Support regexp for :name and :placeholder options in selectors that import filters from
|
61
|
+
_field filter set
|
62
|
+
|
63
|
+
### Fixed
|
64
|
+
|
65
|
+
* Issue around automatic port assignment - Issue #2245
|
66
|
+
* Label selector when label has no id - Issue #2260
|
67
|
+
* Preserve clientX/clientY in Selenium HTML5 drag emulation [Nicolò G.]
|
68
|
+
* table selector using :with_cols option if last specified column matched but others didn't - Issue #2287
|
69
|
+
* Some tests updated for Ruby 2.7 behavior change around keyword args
|
70
|
+
|
71
|
+
# Version 3.29.0
|
72
|
+
Release date: 2019-09-02
|
73
|
+
|
74
|
+
### Added
|
75
|
+
|
76
|
+
* Allow clicking on file input when using the block version of `attach_file` with Chrome and Firefox
|
77
|
+
* Spatial filters (`left_of`, `right_of`, `above`, `below`, `near`)
|
78
|
+
* rack_test driver now supports clicking on details elements to open/close them
|
79
|
+
|
80
|
+
### Fixed
|
81
|
+
|
82
|
+
* rack_test driver correctly determines visibility for open details elements descendants
|
83
|
+
|
84
|
+
### Changed
|
85
|
+
|
86
|
+
* Results will now be lazily evaluated when using JRuby >= 9.2.8.0
|
87
|
+
|
88
|
+
|
89
|
+
# Version 3.28.0
|
90
|
+
Release date: 2019-08-03
|
91
|
+
|
92
|
+
### Added
|
93
|
+
|
94
|
+
* Allow forcing HTML5 or legacy dragging via the `:html5` option to `drag_to` when using Selenium with Chrome or Firefox
|
95
|
+
* Autodetection of drag type interprets not seeing the mousedown event as legacy.
|
96
|
+
* HTML5 form validation `:valid` node filter added to `:field` and `:fillable_field` selectors
|
97
|
+
* When using Capybara registered :puma server - patches Puma 4.0.x to fix SSL connection behavior. Removes
|
98
|
+
default `queue_requests` setting - Issue #2227
|
99
|
+
|
100
|
+
# Version 3.27.0
|
101
|
+
Release date: 2019-07-28
|
102
|
+
|
103
|
+
### Added
|
104
|
+
|
105
|
+
* Allow to use chromedriver/geckodriver native `is_element_displayed` endpoint via Selenium
|
106
|
+
driver `native_displayed` option for performance reasons. Disabled by default due to endpoints
|
107
|
+
currently not handling <details> element descendants visibility correctly.
|
108
|
+
|
109
|
+
### Fixed
|
110
|
+
|
111
|
+
* Ignore negative lookahead/lookbehind regex when performing initial XPath text matching
|
112
|
+
* Reloading of elements found via `ancestor` and `sibling`
|
113
|
+
* Only default puma settings to `queue_requests: false` when using SSL
|
114
|
+
* Visibility of descendants of <details> elements is correctly determined when using rack_test
|
115
|
+
and the selenium driver with Capybara optimized atoms
|
116
|
+
* local/session storage clearance in Chrome when clearing only one of them - Issue #2233
|
117
|
+
|
118
|
+
# Version 3.26.0
|
119
|
+
Release date: 2019-07-15
|
120
|
+
|
121
|
+
### Added
|
122
|
+
|
123
|
+
* `w3c_click_offset` configuration option applies to `right_click` and `double_click` as well as `click`
|
124
|
+
* Warning when passing `nil` to the text/content assertions/expectations
|
125
|
+
* `Session#server_url` returns the base url the AUT is being run at (when controlled by Capybara)
|
126
|
+
* `option` selector type accepts an integer as locator
|
127
|
+
|
128
|
+
### Fixed
|
129
|
+
|
130
|
+
* Default puma server registration now specifies `queue_requests: false` - Issue #2227
|
131
|
+
* Workaround issue with FF 68 and hanging during reset if a system modal is visible
|
132
|
+
* Don't expand file path if it's already absolute - Issue #2228
|
133
|
+
|
134
|
+
# Version 3.25.0
|
135
|
+
Release date: 2019-06-27
|
136
|
+
|
137
|
+
### Added
|
138
|
+
|
139
|
+
* Animation disabler also disables before and after pseudoelements - Issue #2221 [Daniel Heath]
|
140
|
+
* `w3c_click_offset` configuration option to determine whether click offsets are calculated from element
|
141
|
+
center or top left corner
|
142
|
+
|
143
|
+
### Fixed
|
144
|
+
|
145
|
+
* Woraround issue with chromedriver 76/77 in W3C mode losing mouse state during legacy drag. Only fixed if
|
146
|
+
both source and target are simultaenously inside the viewport - Issue #2223
|
147
|
+
* Negative ancestor expectations/predicates were incorrectly checking siblings rather than ancestors
|
148
|
+
|
149
|
+
# Version 3.24.0
|
150
|
+
Release date: 2019-06-13
|
151
|
+
|
152
|
+
### Added
|
153
|
+
|
154
|
+
* Log access when using the Selenium driver with Chrome 75 in W3C mode has been reenabled.
|
155
|
+
|
156
|
+
### Changed
|
157
|
+
|
158
|
+
* Selenium driver now selects all current content and then sends keys rather than clearing field by JS
|
159
|
+
and then sending keys when setting values to text inputs in order to more closely simulate user behavior
|
160
|
+
|
161
|
+
### Fixed
|
162
|
+
|
163
|
+
* Relative paths passed to `attach_file` will be assumed to be relative to the current working directory when using the
|
164
|
+
Selenium driver
|
165
|
+
|
166
|
+
# Version 3.23.0
|
167
|
+
Release date: 2019-06-10
|
168
|
+
|
169
|
+
### Added
|
170
|
+
|
171
|
+
* Improved error message when using Chrome in W3C mode and attempting to access logs
|
172
|
+
* Support driver specific options for Element#drag_to
|
173
|
+
* Support setting `<input type="color">` elements with the selenium driver
|
174
|
+
|
175
|
+
### Fixed
|
176
|
+
|
177
|
+
* Tightened conditions when in expression text option matching will be used
|
178
|
+
* Improved Selenium drivers HTML5 drag and drop emulation compatibility with SortableJS library (and others)
|
179
|
+
|
180
|
+
# Version 3.22.0
|
181
|
+
Release date: 2019-05-29
|
182
|
+
|
183
|
+
### Added
|
184
|
+
|
185
|
+
* `ancestor`/`sibling` assertions and matchers added
|
186
|
+
* Documentation Updates and Fixes - Many thanks again to Masafumi Koba! [Masafumi Koba]
|
187
|
+
* Added `:with` alias for `:option` filter on `:checkbox` and `:radio_button` selectors
|
188
|
+
|
189
|
+
### Changed
|
190
|
+
|
191
|
+
* Selenium driver with Chrome >= 73 now resets cookies and local/session storage after navigating
|
192
|
+
to 'about:blank' when possible to minimize potential race condition
|
193
|
+
|
194
|
+
# Version 3.21.0
|
195
|
+
Release date: 2019-05-24
|
196
|
+
|
197
|
+
### Added
|
198
|
+
|
199
|
+
* Element#drop - Chrome and Firefox, via the selenium driver, support dropping files/data on elements
|
200
|
+
* Default CSS used for `attach_file` `make_visible: true` now includes auto for
|
201
|
+
height and width to handle more ways of hiding the file input element
|
202
|
+
* Documentation Updates and Fixes - Many thanks to Masafumi Koba! [Masafumi Koba]
|
203
|
+
|
204
|
+
### Changed
|
205
|
+
|
206
|
+
* Deprecate support for CSS locator being a Symbol
|
207
|
+
|
208
|
+
# Version 3.20.2
|
209
|
+
Release date: 2019-05-19
|
210
|
+
|
211
|
+
### Fixed
|
212
|
+
|
213
|
+
* Move `uglifier` from runtime to development dependency [miyucy]
|
214
|
+
|
215
|
+
# Version 3.20.1
|
216
|
+
Release date: 2019-05-17
|
217
|
+
|
218
|
+
### Fixed
|
219
|
+
|
220
|
+
* RackTest driver considers <template> elements to be non-visible and ignores the contents
|
221
|
+
|
222
|
+
# Version 3.20.0
|
223
|
+
Release date: 2019-05-14
|
224
|
+
|
225
|
+
### Added
|
226
|
+
|
227
|
+
* `Node#obscured?` to check viewport presence and element overlap
|
228
|
+
* `:obscured` system filter to check whether elements are obscured in finders, assertions, and expectations
|
229
|
+
* :label selector :for option can be a regexp
|
230
|
+
* Significantly smaller `isDisplayed`/`getAttribute` atoms for selenium driver. If these produce issues you can disable their use
|
231
|
+
by setting an environment variable named 'DISABLE_CAPYBARA_SELENIUM_OPTIMIZATIONS' (Please also report any issues).
|
232
|
+
* `href: false` option with `find_link`/`click_link`/:link selector ignores `href` presence/absence
|
233
|
+
|
234
|
+
### Fixed
|
235
|
+
|
236
|
+
* Workaround Safari issue with send_keys not correctly using top level modifiers
|
237
|
+
* Workaround Safari not retrying click due to incorrect error type
|
238
|
+
* Fix Safari attach_file block mode when clicking elements associated to the file input
|
239
|
+
* Workaround Safari issue with repeated hover
|
240
|
+
|
241
|
+
# Version 3.19.1
|
242
|
+
Release date: 2019-05-11
|
243
|
+
|
244
|
+
### Fixed
|
245
|
+
|
246
|
+
* Fix access to specializations when Selenium::Driver is subclassed [James Mead]
|
247
|
+
|
248
|
+
# Version 3.19.0
|
249
|
+
Release date: 2019-05-09
|
250
|
+
|
251
|
+
### Added
|
252
|
+
|
253
|
+
|
254
|
+
* Syntactic sugar `#once`, `#twice`, `#thrice`, `#exactly`, `#at_least`, `#at_most`, and `#times`
|
255
|
+
added to `have_selector`, `have_css`, `have_xpath`, and `have_text` RSpec matchers
|
256
|
+
* Support for multiple expression types in Selector definitions
|
257
|
+
* Reduced wirecalls for common actions in Selenium driver
|
258
|
+
|
259
|
+
### Fixed
|
260
|
+
|
261
|
+
* Workaround Chrome 75 appending files to multiple file inputs
|
262
|
+
* Suppressed retry when detecting http vs https server connection
|
263
|
+
|
264
|
+
# Version 3.18.0
|
265
|
+
Release date: 2019-04-22
|
266
|
+
|
267
|
+
### Added
|
268
|
+
|
269
|
+
* XPath Selector query optimized to make use of Regexp :text option in initial element find
|
270
|
+
|
271
|
+
### Fixed
|
272
|
+
|
273
|
+
* Workaround issue where Chrome/chromedriver 74 can return the wrong error type when a click is intercepted
|
274
|
+
|
275
|
+
# Version 3.17.0
|
276
|
+
Release date: 2019-04-18
|
277
|
+
|
278
|
+
### Added
|
279
|
+
|
280
|
+
* Initial support for selenium-webdriver 4.0.0.alpha1
|
281
|
+
* :button selector will now also match on `name` attribute
|
282
|
+
|
283
|
+
### Fixed
|
284
|
+
|
285
|
+
* Suppress warnings generated by using selenium-webdriver 3.141.5926
|
286
|
+
* Mask Appium issue with finder visibility optimizations (non-optimal)
|
287
|
+
|
288
|
+
# Version 3.16.2
|
289
|
+
Release date: 2019-04-10
|
290
|
+
|
291
|
+
### Fixed
|
292
|
+
|
293
|
+
* Fix Session#quit resetting of memoized document
|
294
|
+
|
295
|
+
# Version 3.16.1
|
296
|
+
Release date: 2019-03-30
|
297
|
+
|
298
|
+
### Fixed
|
299
|
+
|
300
|
+
* Fix potential 'uninitialized constant' error when using the :selenium_chrome driver [jeffclemens-ab]
|
301
|
+
|
302
|
+
# Version 3.16
|
303
|
+
Release date: 2019-03-28
|
304
|
+
|
305
|
+
### Changed
|
306
|
+
|
307
|
+
* Ruby 2.4.0+ is now required
|
308
|
+
* Selenium driver now defaults to using a persistent http client connection
|
309
|
+
|
310
|
+
### Added
|
311
|
+
|
312
|
+
* :wait option in predicates now accepts `true` to selectively override when `Capybara.predicates_wait == false`
|
313
|
+
|
314
|
+
# Version 3.15
|
315
|
+
Release date: 2019-03-19
|
316
|
+
|
317
|
+
### Added
|
318
|
+
|
319
|
+
* `attach_file` now supports a block mode on JS capable drivers to more accurately test user behavior when file inputs are hidden (beta)
|
320
|
+
* :table selector now supports `with_rows`, 'rows', `with_cols`, and 'cols' filters
|
321
|
+
|
322
|
+
### Fixed
|
323
|
+
|
324
|
+
* Fix link selector when `Capybara.test_id` is set - Issue #2166 [bingjyang]
|
325
|
+
|
326
|
+
|
327
|
+
# Version 3.14
|
328
|
+
Release date: 2019-02-25
|
329
|
+
|
330
|
+
### Added
|
331
|
+
|
332
|
+
* rack_test driver now supports reloading elements when the document changes - Issue #2157
|
333
|
+
* Selenium driver HTML5 drag-drop emulation now emits multiple move events so drag direction
|
334
|
+
is determinable [Erkki Eilonen, Thomas Walpole]
|
335
|
+
* Capybara.server_errors now defaults to [Exception] - Issue #2160 [Edgars Beigarts]
|
336
|
+
### Fixed
|
337
|
+
|
338
|
+
* Workaround hover issue with FF 65 - Issue #2156
|
339
|
+
* Workaround chromedriver issue when setting blank strings to react controlled text fields
|
340
|
+
* 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
|
341
|
+
|
342
|
+
# Version 3.13.2
|
343
|
+
Release date: 2019-01-24
|
344
|
+
|
345
|
+
### Fixed
|
346
|
+
|
347
|
+
* Remove extraneous output
|
348
|
+
|
349
|
+
# Version 3.13.1
|
350
|
+
Release date: 2019-01-24
|
351
|
+
|
352
|
+
### Fixed
|
353
|
+
|
354
|
+
* Only use Selenium visibility optimization when JS atom is available - Issue #2151
|
355
|
+
|
356
|
+
# Version 3.13.0
|
357
|
+
Release date: 2019-01-23
|
358
|
+
|
359
|
+
### Added
|
360
|
+
|
361
|
+
* Session#quit added
|
362
|
+
* #scroll_to added to allow scrolling page/elements to specified locations
|
363
|
+
* Speed optimizations around multiple element location and path generation when using the Selenium driver
|
364
|
+
* Support for locator type checking in custom selectors
|
365
|
+
* Allow configuration of gumbo use - defaults to off
|
366
|
+
* `assert_style`/`has_style`/`have_style` deprecated in favor of `assert_matches_style`/`matches_styles?`/`match_style`
|
367
|
+
* :style filter added to selectors
|
368
|
+
|
369
|
+
# Version 3.12.0
|
370
|
+
Release date: 2018-11-28
|
371
|
+
|
372
|
+
### Added
|
373
|
+
|
374
|
+
* Support Ruby 2.6 endless range in Result#[] and query `:between` option
|
375
|
+
* Pre-registered headless firefox driver :selenium_headless [Andrew Havens]
|
376
|
+
* 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
|
377
|
+
|
378
|
+
### Fixed
|
379
|
+
|
380
|
+
* Raise error if only :x or :y are passed as an offset to click methods
|
381
|
+
|
382
|
+
### Removed
|
383
|
+
|
384
|
+
* Support for RSpec < 3.5
|
385
|
+
|
386
|
+
# Version 3.11.1
|
387
|
+
Release date: 2018-11-16
|
388
|
+
|
389
|
+
### Fixed
|
390
|
+
|
391
|
+
* Fixed :link_or_button XPath generation when it has had an expression filter added
|
392
|
+
|
393
|
+
# Version 3.11.0
|
394
|
+
Release date: 2018-11-14
|
395
|
+
|
396
|
+
### Added
|
397
|
+
|
398
|
+
* Ability for node filters to set detailed error messages
|
399
|
+
* `Capybara::HTML` Will use `nokogumbo` for HTML parsing if installed
|
400
|
+
* `Selector#locator_filter` added to allow for dynamic locator in selectors
|
401
|
+
|
402
|
+
### Fixed
|
403
|
+
|
404
|
+
* Node filters are evaluated in the context of the Selector they are used in to ensure the correct options are used
|
405
|
+
|
406
|
+
# Version 3.10.1
|
407
|
+
Release date: 2018-11-03
|
408
|
+
|
409
|
+
### Fixed
|
410
|
+
|
411
|
+
* Fix `aria-label` and `test_id` matching for `link_or_button` selector type - Issue #2125
|
412
|
+
* Fixed crash in element path creation for matcher failure messages - Issue #2120
|
413
|
+
|
414
|
+
# Version 3.10.0
|
415
|
+
Release date: 2018-10-23
|
416
|
+
|
417
|
+
### Added
|
418
|
+
|
419
|
+
* :class filter can now check for class names starting with !
|
420
|
+
* Selector `xpath`/`css` expression definitions will get filter names from block parameters if not explicitly provided
|
421
|
+
* `any_of_selectors` assertions and matchers to complement `all_of_selectors` and `none_of_selectors`
|
422
|
+
|
423
|
+
### Fixed
|
424
|
+
|
425
|
+
* Selector `css` expression definiton declared filters now work again
|
426
|
+
* Cleaned up warnings [Yuji Yaginuma]
|
427
|
+
* 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
|
428
|
+
|
429
|
+
# Version 3.9.0
|
430
|
+
Release date: 2018-10-03
|
431
|
+
|
432
|
+
### Added
|
433
|
+
|
434
|
+
* Selenium with Chrome removes all cookies at session reset instead of just cookies from current domain if possible
|
435
|
+
* Support for Regexp for system :id and :class filters where possible
|
436
|
+
* `using_session` now accepts a session object as well as the name of the session for users who manually manage sessions
|
437
|
+
* The `:field` selector will now find `type = "hidden"` fields if the `type: "hidden"` filter option is provided
|
438
|
+
|
439
|
+
# Version 3.8.2
|
440
|
+
Release date: 2018-09-26
|
441
|
+
|
442
|
+
### Fixed
|
443
|
+
|
444
|
+
* Fixed negated class selector option - Issue #2103
|
445
|
+
|
446
|
+
# Version 3.8.1
|
447
|
+
Release date: 2018-09-22
|
448
|
+
|
449
|
+
### Fixed
|
450
|
+
|
451
|
+
* Filling in of date fields with a string when using selenium chrome regression [Micah Geisel]
|
452
|
+
|
453
|
+
# Version 3.8.0
|
454
|
+
Release date: 2018-09-20
|
455
|
+
|
456
|
+
### Added
|
457
|
+
|
458
|
+
* Workaround geckodriver 0.22 issue with undefined pause durations
|
459
|
+
* :element selector ignores XML namespaces
|
460
|
+
|
461
|
+
### Fixed
|
462
|
+
|
463
|
+
* Added Errno::ECONNRESET to the errors which will allows https server detection
|
464
|
+
|
465
|
+
# Version 3.7.2
|
466
|
+
Release date: 2018-09-12
|
467
|
+
|
468
|
+
### Fixed
|
469
|
+
|
470
|
+
* Fix MatchQuery based matchers when used on a root element found using any type of parent/ancestor query - Issue #2097
|
471
|
+
|
472
|
+
* Fix Chrome/FF HTML5 drag simulation for elements (a, img) which default to draggable - Issue #2098
|
473
|
+
|
474
|
+
# Version 3.7.1
|
475
|
+
Release date: 2018-09-05
|
476
|
+
|
477
|
+
### Fixed
|
478
|
+
|
479
|
+
* Restored ability to pass symbol as the CSS selector when calling `has_css?`/`have_css`/etc - Issue #2093
|
480
|
+
|
481
|
+
# Version 3.7.0
|
482
|
+
Release date: 2018-09-02
|
483
|
+
|
484
|
+
### Added
|
485
|
+
|
486
|
+
* `Capybara.disable_animation` can be set to a CSS selector to identify which elements will have animation disabled [Michael Glass]
|
487
|
+
* `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]
|
488
|
+
* Selector based predicates, matchers, and finders now support the `:normalize_ws` option for the `:text`/`:exact_text` filters. Defaults to the `Capybara.default_normalize_ws`setting above.
|
489
|
+
* 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.
|
490
|
+
|
491
|
+
### Fixed
|
492
|
+
|
493
|
+
* 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.
|
494
|
+
* Firefox file inputs are only manually cleared when necessary.
|
495
|
+
|
496
|
+
# Version 3.6.0
|
497
|
+
Release date: 2018-08-14
|
498
|
+
|
499
|
+
### Added
|
500
|
+
|
501
|
+
* Workaround geckodriver/firefox send_keys issues as much as possible using the Selenium actions API
|
502
|
+
* Workaround lack of HTML5 native drag and drop events when using Selenium driver with Chrome and FF >= 62
|
503
|
+
* `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)
|
504
|
+
|
505
|
+
# Version 3.5.1
|
506
|
+
Release date: 2018-08-03
|
507
|
+
|
508
|
+
### Fixed
|
509
|
+
|
510
|
+
* Fixed misspelled method name `refute_matches_elector` => `refute_matches_selector`
|
511
|
+
|
512
|
+
# Version 3.5.0
|
513
|
+
Release date: 2018-08-01
|
514
|
+
|
515
|
+
### Added
|
516
|
+
|
517
|
+
* text predicates and matchers (`has_text?`, `has_content?`, `assert_text`, etc) now support a `normalize_ws` option
|
518
|
+
|
519
|
+
### Fixed
|
520
|
+
|
521
|
+
* `attach_file` with Selenium and local Firefox 62+ now correctly generates only one change event when attaching multiple files
|
522
|
+
|
523
|
+
# Version 3.4.2
|
524
|
+
Release date: 2018-07-24
|
525
|
+
|
526
|
+
### Fixed
|
527
|
+
|
528
|
+
* `match_xxx` selectors and `matches_xxx?` predicates work correctly with elements found using a sibling selector - Issue #2073
|
529
|
+
|
530
|
+
# Version 3.4.1
|
531
|
+
Release date: 2018-07-20
|
532
|
+
|
533
|
+
### Fixed
|
534
|
+
|
535
|
+
* `Session#evaluate_script` now strips the script in `Session` rather than only in the Selenium driver
|
536
|
+
|
537
|
+
# Version 3.4.0
|
538
|
+
Release date: 2018-07-19
|
539
|
+
|
540
|
+
### Fixed
|
541
|
+
|
542
|
+
* Make selenium driver :backspace clear stategy work even if caret location is in middle of field content [Champier Cyril]
|
543
|
+
* Selenium issue with fieldset nested in disabled fieldset not being considered disabled
|
544
|
+
* `Session#evaluate_script` and `Element#evaluate_script` now strip leading/trailing whitespace from scripts [Ian Lesperance]
|
545
|
+
|
546
|
+
### Added
|
547
|
+
|
548
|
+
* Work around Selenium lack of support for `file_detector` with remote geckodriver
|
549
|
+
* `#within_frame` locator is optional when only one frame exists
|
550
|
+
* `Capybara.test_id` option that allows for matching the Capybara provided selector types on an arbitrary attribute
|
551
|
+
(defaults to nil), set to your test id attribute ('data-test-id, etc) if using test id attributes in your project
|
552
|
+
|
553
|
+
# Version 3.3.1
|
554
|
+
Release date: 2018-06-27
|
555
|
+
|
556
|
+
### Fixed
|
557
|
+
|
558
|
+
* `selenium-webdriver` version check [ahorek]
|
559
|
+
* Selenium driver correctly responds to `disabled?` for fieldset elements - Issue #2059 [Thomas Walpole]
|
560
|
+
|
561
|
+
# Version 3.3.0
|
562
|
+
Release date: 2018-06-25
|
563
|
+
|
564
|
+
### Added
|
565
|
+
|
566
|
+
* RackTest driver now handles 307/308 redirects
|
567
|
+
* `execute_async_script` can now be called on elements to run the JS in the context of the element
|
568
|
+
* `:download` filter option on `:link' selector
|
569
|
+
* `Window#fullscreen`
|
570
|
+
* `Element#style` and associated matchers
|
571
|
+
|
572
|
+
### Changed
|
573
|
+
|
574
|
+
* Minimum "supported" `selenium-webdriver` is raised to 3.5.0 (but you really should be using newer than that)
|
575
|
+
|
576
|
+
### Fixes
|
577
|
+
|
578
|
+
* Selenium driver with Firefox workaround for clicking on table row - https://github.com/mozilla/geckodriver/issues/1228
|
579
|
+
* :class and :id filters applied to CSS based selectors now correctly handle the CSS comma
|
580
|
+
* Selenium driver handles namespaces when generating an elements `#path` - Issue #2048
|
581
|
+
|
582
|
+
# Version 3.2.1
|
583
|
+
Release date: 2018-06-04
|
584
|
+
|
585
|
+
### Fixes
|
586
|
+
|
587
|
+
* Only split CSS selectors when :class or :id options are given. Restores 3.1.1 functionality for now but the underlying issue
|
588
|
+
will require a larger fix, hopefully coming soon. - Issue #2044 [Thomas Walpole]
|
589
|
+
|
590
|
+
# Version 3.2.0
|
591
|
+
Release date: 2018-06-01
|
592
|
+
|
593
|
+
### Changed
|
594
|
+
|
595
|
+
* Ruby 2.3.0+ is now required
|
596
|
+
* `ElementNotFound` errors raised in selector filters are interpreted as non-matches
|
597
|
+
|
598
|
+
### Added
|
599
|
+
|
600
|
+
* New global configuration `default_set_options` used in `Capybara::Node::Element#set` as default `options` hash [Champier Cyril]
|
601
|
+
* `execute_script` and `evaluate_script` can now be called on elements to run the JS in the context of the element [Thomas Walpole]
|
602
|
+
* Filters in custom selectors now support a `matcher` Regexp to handle multiple filter options [Thomas Walpole]
|
603
|
+
* `:element` selector type which will match on any attribute (other than the reserved names) passed as a filter option [Thomas Walpole]
|
604
|
+
* `:class` filter option now supports preceding class names with `!` to indicate not having that class [Thomas Walpole]
|
605
|
+
* `:class` and `:id` filter options now accept `XPath::Expression` objects to allow for more flexibility in matching [Thomas Walpole]
|
606
|
+
* `Capybara.disable_animation` setting which triggers loading of a middleware that attempts to disable animations in pages.
|
607
|
+
This is very much a beta feature and may change/disappear in the future. [Thomas Walpole]
|
608
|
+
|
609
|
+
# Version 3.1.1
|
610
|
+
Release date: 2018-05-25
|
611
|
+
|
612
|
+
### Fixes
|
613
|
+
|
614
|
+
* Ensure keystrokes are sent when setting time/date fields to a string with the Selenium driver [Thomas Walpole]
|
615
|
+
|
616
|
+
# Version 3.1.0
|
617
|
+
Release date: 2018-05-10
|
618
|
+
|
619
|
+
### Added
|
620
|
+
|
621
|
+
* Support for using `select` with text inputs associated with a datalist element
|
622
|
+
* `type` filter on `:button` selector
|
623
|
+
* Support for server operating in https mode
|
624
|
+
* Selenium driver now uses JS to fill_in/set date and time fields when passed date or time objects [Aleksei Gusev, Thomas Walpole]
|
625
|
+
|
626
|
+
# Version 3.0.3
|
627
|
+
Release date: 2018-04-30
|
628
|
+
|
629
|
+
### Fixes
|
630
|
+
|
631
|
+
* Issue in `check` where the locator string could not be omitted
|
632
|
+
* Selenium browser type detection when using remote [Ian Ker-Seymer]
|
633
|
+
* Potential hang when waiting for requests to complete [Chris Zetter]
|
634
|
+
|
635
|
+
# Version 3.0.2
|
636
|
+
Release date: 2018-04-13
|
637
|
+
|
638
|
+
### Fixes
|
639
|
+
|
640
|
+
* Fix expression filter descriptions in some selector failure messages
|
641
|
+
* Fix compounding of negated matechers - Issue #2010
|
642
|
+
|
643
|
+
# Version 3.0.1
|
644
|
+
Release date: 2018-04-06
|
645
|
+
|
646
|
+
### Changed
|
647
|
+
|
648
|
+
* Restored ability for `Capybara.server=` to accept a proc which was accidentally removed in 3.0.0
|
649
|
+
|
650
|
+
# Version 3.0.0
|
651
|
+
Release date: 2018-04-05
|
652
|
+
|
653
|
+
### Changed
|
654
|
+
|
655
|
+
* Selenium driver only closes extra windows for browsers where that is known to work (Firefox, Chrome)
|
656
|
+
* "threadsafe" mode is no longer considered beta
|
657
|
+
|
658
|
+
### Fixes
|
659
|
+
|
660
|
+
* Multiple file attach_file with Firefox
|
661
|
+
* Use Puma::Server directly rather than Rack::Handler::Puma so signal handlers don't prevent test quitting
|
662
|
+
|
663
|
+
# Version 3.0.0.rc2
|
664
|
+
Release date: 2018-03-23
|
665
|
+
|
666
|
+
### Changed
|
667
|
+
|
668
|
+
* Visibile text whitespace is no longer fully normalized in favor of being more in line with the WebDriver spec for visible text
|
669
|
+
* Drivers are expected to close extra windows when resetting the session
|
670
|
+
* Selenium driver supports Date/Time when filling in date/time/datetime-local inputs
|
671
|
+
* `current_url` returns the url for the top level browsing context
|
672
|
+
* `title` returns the title for the top level browsing context
|
673
|
+
|
674
|
+
### Added
|
675
|
+
|
676
|
+
* `Driver#frame_url` returns the url for the current frame
|
677
|
+
* `Driver#frame_title` returns the title for the current frame
|
678
|
+
|
679
|
+
# Version 3.0.0.rc1
|
680
|
+
Release date: 2018-03-02
|
681
|
+
|
682
|
+
### Added
|
683
|
+
* Support for libraries wrapping Capybara elements and providing a `#to_capybara_node` method
|
684
|
+
|
685
|
+
### Changed
|
686
|
+
|
687
|
+
* `first` now raises ElementNotFound, by default, instead of returning nil when no matches are found - Issue #1507
|
688
|
+
* 'all' now waits for at least one matching element by default. Pass `wait: false` if you want the previous
|
689
|
+
behavior where an empty result would be returned immediately if no matching elements exist yet.
|
690
|
+
* ArgumentError raised if extra parameters passed to selector queries
|
691
|
+
|
692
|
+
### Removed
|
693
|
+
|
694
|
+
* Ruby < 2.2.2 support
|
695
|
+
* `Capybara.exact_options` no longer exists. Just use `exact: true` on relevant actions/finders if necessary.
|
696
|
+
* All previously deprecated methods removed
|
697
|
+
* RSpec 2.x support
|
698
|
+
* selenium-webdriver 2.x support
|
699
|
+
* Nokogiri < 1.8 support
|
700
|
+
* `field_labeled` alias for `find_field`
|
701
|
+
|
702
|
+
# Version 2.18.0
|
703
|
+
Release date: 2018-02-12
|
704
|
+
|
705
|
+
### Fixed
|
706
|
+
|
707
|
+
* Firefox/geckodriver setting of contenteditable childs contents
|
708
|
+
* Ignore Selenium::WebDriver::Error::SessionNotCreatedError when quitting driver [Tim Connor]
|
709
|
+
|
710
|
+
### Removed
|
711
|
+
|
712
|
+
* Headless chrome modal JS injection that is no longer needed for Chrome 64+/chromedriver 2.35+
|
713
|
+
|
714
|
+
|
715
|
+
# Version 2.17.0
|
716
|
+
Release date: 2018-01-02
|
717
|
+
|
718
|
+
### Added
|
719
|
+
|
720
|
+
* `have_all_of_selectors`, `have_none_of_selectors` RSpec matchers for parity with minitest assertions [Thomas Walpole]
|
721
|
+
|
722
|
+
### Fixed
|
723
|
+
|
724
|
+
* Allow xpath 3.x gem [Thomas Walpole]
|
725
|
+
* Issue when drivers returned nil for `current_path` and a matcher was used with a Regexp [Thomas Walpole]
|
726
|
+
* Error message when visible element not found, but non-visible was [Andy Klimczak]
|
727
|
+
|
728
|
+
# Version 2.16.1
|
729
|
+
Release date: 2017-11-20
|
730
|
+
|
731
|
+
### Fixed
|
732
|
+
|
733
|
+
* Fix rack_test driver for rack_test 0.7.1/0.8.0 [Thomas Walpole]
|
734
|
+
* `accept_prompt` response text can contain quotes when using selenium with headless chrome [Thomas Walpole]
|
735
|
+
|
736
|
+
# Version 2.16.0
|
737
|
+
Release date: 2017-11-13
|
738
|
+
|
739
|
+
### Added
|
740
|
+
|
741
|
+
* Attempt to move element into view when selenium doesn't correctly do it - See PR #1917 [Thomas Walpole]
|
742
|
+
* `current_path` matchers will now autodetect path vs url based on string to be matched. Deprecates
|
743
|
+
`:only_path` in favor of `:ignore_query` option [Thomas Walpole]
|
744
|
+
* Session#evaluate_async_script [Thomas Walpole]
|
745
|
+
|
746
|
+
### Fixed
|
747
|
+
|
748
|
+
* Default prompt value when using headless Chrome works correctly [Thomas Walpole]
|
749
|
+
* Support new modal error returned by selenium-webdriver 3.7 for W3C drivers [Thomas Walpole]
|
750
|
+
* Calling `respond_to?` on the object passed to `Capybara.configure` block - Issue #1935
|
751
|
+
|
752
|
+
# Version 2.15.4
|
753
|
+
Release date: 2017-10-07
|
754
|
+
|
755
|
+
### Fixed
|
756
|
+
* Visiting an absolute URL shouldn't overwrite the port when no server or always_include_port=false - Issue #1921
|
757
|
+
|
758
|
+
# Version 2.15.3
|
759
|
+
Release date: 2017-10-03
|
760
|
+
|
761
|
+
### Fixed
|
762
|
+
* Visiting '/' when Capybara.app_host has a trailing '/' - Issue #1918 [Thomas Walpole]
|
763
|
+
|
764
|
+
# Version 2.15.2
|
765
|
+
Release date: 2017-10-02
|
766
|
+
|
767
|
+
### Fixed
|
768
|
+
|
769
|
+
* Include within scope description in element not found/ambiguous errors [Thomas Walpole]
|
770
|
+
* Raise error when no activation block is passed to modal methods if using headless chrome [Thomas Walpole]
|
771
|
+
* Don't retry element access when inspecting [Ivan Neverov]
|
772
|
+
* Don't override a specified port (even if it is default port) in visited url [Thomas Walpole]
|
773
|
+
|
774
|
+
# Version 2.15.1
|
775
|
+
|
776
|
+
Release date: 2017-08-04
|
777
|
+
|
778
|
+
### Fixed
|
779
|
+
|
780
|
+
* `attach_file` with no extension/MIME type when using the `:rack_test` driver [Thomas Walpole]
|
781
|
+
|
782
|
+
# Version 2.15.0
|
783
|
+
|
784
|
+
Release date: 2017-08-04
|
785
|
+
|
786
|
+
### Added
|
787
|
+
|
788
|
+
* `sibling` and `ancestor` finders added [Thomas Walpole]
|
789
|
+
* Added ability to pass options to registered servers when setting
|
790
|
+
* Added basic built-in driver registrations `:selenium_chrome` and `:selenium_chrome_headless` [Thomas Walpole]
|
791
|
+
* Add `and_then` to Capybara RSpec matchers which behaves like the previous `and` compounder. [Thomas Walpole]
|
792
|
+
* Compound RSpec expectations with Capybara matchers now run both matchers inside a retry loop rather
|
793
|
+
than waiting for one to pass/fail before checking the second. Will make `#or` more performant and confirm
|
794
|
+
both conditions are true "simultaneously" for `and`. [Thomas Walpole]
|
795
|
+
If you still want the
|
796
|
+
* Default filter values are now included in error descriptions [Thomas Walpole]
|
797
|
+
* Add `Session#refresh` [Thomas Walpole]
|
798
|
+
* Loosened restrictions on where `Session#within_window` can be called from [Thomas Walpole]
|
799
|
+
* Switched from `mime-types` dependency to `mini_mime` [Jason Frey]
|
800
|
+
|
801
|
+
# Version 2.14.4
|
802
|
+
|
803
|
+
Release date: 2017-06-27
|
804
|
+
|
805
|
+
### Fixed
|
806
|
+
|
807
|
+
* Fix retrieval of session_options for HaveSelector matcher descriptions - Issue #1883
|
808
|
+
|
809
|
+
# Version 2.14.3
|
810
|
+
|
811
|
+
Release date: 2017-06-15
|
812
|
+
|
813
|
+
### Fixed
|
814
|
+
|
815
|
+
* Minitest assertions now raise the correct error type - Issue #1879 [Thomas Walpole]
|
816
|
+
* Improve flexibility of detecting Chrome headless mode [Thomas Walpole]
|
817
|
+
|
818
|
+
# Version 2.14.2
|
819
|
+
|
820
|
+
Release date: 2017-06-09
|
821
|
+
|
822
|
+
### Fixed
|
823
|
+
|
824
|
+
* Workaround for system modals when using headless Chrome now works if the page changes
|
825
|
+
|
826
|
+
# Version 2.14.1
|
827
|
+
|
828
|
+
Release date: 2017-06-07
|
829
|
+
|
830
|
+
### Fixed
|
831
|
+
|
832
|
+
* Catch correct error when unexpected system modals are discovered in latest selenium [Thomas Walpole]
|
833
|
+
* Update default `puma` server registration to encourage it to run in single mode [Thomas Walpole]
|
834
|
+
* Suppress invalid element errors raised while lazily evaluating the results of `all` [Thomas Walpole]
|
835
|
+
* Added missing `with_selected` option to the :select selector to match `options`/`with_options` options - Issue #1865 [Bartosz Nowak]
|
836
|
+
* Workaround broken system modals when using selenium with headless Chrome
|
837
|
+
|
838
|
+
# Version 2.14.0
|
839
|
+
|
840
|
+
Release date: 2017-05-01
|
841
|
+
|
842
|
+
### Added
|
843
|
+
|
844
|
+
* "threadsafe" mode that allows per-session configuration
|
845
|
+
* `:type` filter added to the `:fillable_field` selector
|
846
|
+
* Proxy methods when using RSpec for `all`/`within` that call either the Capybara::DSL or RSpec matchers
|
847
|
+
depending on arguments passed
|
848
|
+
* Support for the new errors in selenium-webdriver 3.4
|
849
|
+
|
850
|
+
### Fixed
|
851
|
+
|
852
|
+
* Element#inspect doesn't raise an error on obsolete elements
|
853
|
+
* Setting a contenteditable element with Selenium and Chrome 59
|
854
|
+
* Workaround a hang while setting the window size when using geckodriver 0.16 and Firefox 53
|
855
|
+
* Clicking on url with a blank href goes to the current url when using the RackTest driver
|
856
|
+
|
857
|
+
# Version 2.13.0
|
858
|
+
|
859
|
+
Release date: 2017-03-16
|
860
|
+
|
861
|
+
### Added
|
862
|
+
|
863
|
+
* Selenium driver supports returning element(s) from evaluate_script [Thomas Walpole]
|
864
|
+
* rack_test driver supports click on checkboxes and radio buttons to change their states [Thomas Walpole]
|
865
|
+
* Support RSpec equivalent assertions and expectations for MiniTest [Thomas Walpole]
|
866
|
+
|
867
|
+
### Fixed
|
868
|
+
|
869
|
+
* Editing of content editable children with selenium
|
870
|
+
|
871
|
+
# Version 2.12.1
|
872
|
+
|
873
|
+
Release date: 2017-02-16
|
874
|
+
|
875
|
+
### Fixed
|
876
|
+
* Disable lazy Capybara::Results evaluation for JRuby due to ongoing issues
|
877
|
+
|
878
|
+
# Version 2.12.0
|
879
|
+
|
880
|
+
Release date: 2017-01-22
|
881
|
+
|
882
|
+
### Added
|
883
|
+
|
884
|
+
* Session#switch_to_frame for manually handling frame switching - Issue #1365 [Thomas Walpole]
|
885
|
+
* Session#within_frame now accepts a selector type (defaults to :frame) and locator [Thomas Walpole]
|
886
|
+
* Session#execute_script and Session#evaluate_script now accept optional arguments that will be passed to the JS function. This may not be supported
|
887
|
+
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]
|
888
|
+
* :exact option for text and title matchers - Issue #1256 [Thomas Walpole]
|
889
|
+
* :exact_text option for selector finders/minders - Issue #1256 [Thomas Walpole]
|
890
|
+
* Capybara.exact_text setting that affects the text matchers and :text options passed to selector finders/matchers. Issue #1256 [Thomas Walpole]
|
891
|
+
* :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
|
892
|
+
support for passing page elements to Session#execute_script [Thomas Walpole]
|
893
|
+
* assert_all_selectors/assert_none_of_selectors assertions added
|
894
|
+
* :link selector (used by find_link/click_link) now supports finding hyperlink placeholders (no href attribute) when href: nil option is specified [Thomas Walpole]
|
895
|
+
* `within_element` as an alias of `within` due to RSpec collision
|
896
|
+
|
897
|
+
### Fixed
|
898
|
+
|
899
|
+
* Fields inside a disabled fieldset are now correctly considered disabled - Issue #1816 [Thomas Walpole]
|
900
|
+
* Lazy Capybara::Results evaluation enabled for JRuby 9.1.6.0+
|
901
|
+
* A driver returning nil for #current_url won't raise an exception when calling #current_path [Dylan Reichstadt]
|
902
|
+
* Support Ruby 2.4.0 unified Integer [Koichi ITO]
|
903
|
+
* RackTest driver no longer modifies the text content of textarea elements in order to behave more like a real browser [Thomas Walpole]
|
904
|
+
* 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]
|
905
|
+
|
906
|
+
# Version 2.11.0
|
907
|
+
|
908
|
+
Release date: 2016-12-05
|
909
|
+
|
910
|
+
### Added
|
911
|
+
|
912
|
+
* Options for clearing session/local storage on reset added to the Selenium driver
|
913
|
+
* Window size changes wait for the size to stabilize
|
914
|
+
* Defined return value for most actions
|
915
|
+
* Ignore specific error when qutting selenium driver instance - Issue #1773 [Dylan Reichstadt, Thomas Walpole]
|
916
|
+
* Warn on selenium unknown errors rather than raising when quitting driver [Adam Pohorecki, Thomas Walpole]
|
917
|
+
* Capybara::Result#each now returns an `Enumerator` when called without a block - Issue #1777 [Thomas Walpole]
|
918
|
+
|
919
|
+
### Fixed
|
920
|
+
|
921
|
+
* Selenium driver with Chrome should support multiple file upload [Thomas Walpole]
|
922
|
+
* Fix visible: :hidden with :text option behavior [Thomas Walpole]
|
923
|
+
|
924
|
+
# Version 2.10.2
|
925
|
+
|
926
|
+
Release date: 2016-11-30
|
927
|
+
|
928
|
+
### Fixed
|
929
|
+
|
930
|
+
* App exceptions with multiple parameter initializers now re-raised correctly - Issue #1785 [Michael Lutsiuk]
|
931
|
+
* Use Addressable::URI when parsing current_path since it's more lenient of technically invalid URLs - Issue #1801 [Marcos Duque, Thomas Walpole]
|
932
|
+
|
933
|
+
# Version 2.10.1
|
934
|
+
|
935
|
+
Release date: 2016-10-08
|
936
|
+
|
937
|
+
### Fixed
|
938
|
+
* App errors are now correctly raised with the explanatory cause in JRuby [Thomas Walpole]
|
939
|
+
* Capybara::Result optimization disabled in JRuby due to issue with lazy enumerator evaluation [Thomas Walpole]
|
940
|
+
See: https://github.com/jruby/jruby/issues/4212
|
941
|
+
|
942
|
+
# Version 2.10.0
|
943
|
+
|
944
|
+
Release date: 2016-10-05
|
945
|
+
|
946
|
+
### Added
|
947
|
+
|
948
|
+
* Select `<button>` elements with descendant images with `alt` attributes matching the locator [Ian Lesperance]
|
949
|
+
* Locator string is optional in selector based matchers [Thomas Walpole]
|
950
|
+
* Selectors can specify their default visible setting [Thomas Walpole]
|
951
|
+
* Selector based finders and matchers can be passed a block to filter the results within the retry behavior [Thomas Walpole]
|
952
|
+
|
953
|
+
# Version 2.9.2
|
954
|
+
|
955
|
+
Release date: 2016-09-29
|
956
|
+
|
957
|
+
### Fixed
|
958
|
+
|
959
|
+
* :label built-in selector finds nested label/control by control id if the label has no 'for' attribute [Thomas Walpole]
|
960
|
+
* Warning issued if an unknown selector type is specified [Thomas Walpole]
|
961
|
+
|
962
|
+
# Version 2.9.1
|
963
|
+
|
964
|
+
Release date: 2016-09-23
|
965
|
+
|
966
|
+
### Fixed
|
967
|
+
|
968
|
+
* allow_label_click option did not work in some cases with Poltergeist - Issue #1762 [Thomas Walpole]
|
969
|
+
* matches_selector? should have access to all of a selectors options except the count options [Thomas Walpole]
|
970
|
+
|
971
|
+
# Version 2.9.0
|
972
|
+
|
973
|
+
Release date: 2016-09-19
|
974
|
+
|
975
|
+
### Fixed
|
976
|
+
|
977
|
+
* Issue with rack-test driver and obselete mime-types when using `#attach_file` - Issue #1756 [Thomas Walpole]
|
978
|
+
|
979
|
+
### Added
|
980
|
+
|
981
|
+
* `:class` option to many of the built-in selectors [Thomas Walpole]
|
982
|
+
* Removed need to specify value when creating `:boolean` filter type in custom selectors [Thomas Walpole]
|
983
|
+
* Filters can now be implemented through the XPath/CSS expressions in custom selectors [Thomas Walpole]
|
984
|
+
* `Element#matches_xpath?` and `Element#matches_css?` [Thomas Walpole]
|
985
|
+
|
986
|
+
# Version 2.8.1
|
987
|
+
|
988
|
+
Release date: 2016-08-25
|
989
|
+
|
990
|
+
### Fixed
|
991
|
+
|
992
|
+
* Fixed error message from have_text when text is not found but contains regex special characters [Ryunosuke Sato]
|
993
|
+
* Warn when :exact option is passed that has no effect [Thomas Walpole]
|
994
|
+
|
995
|
+
# Version 2.8.0
|
996
|
+
|
997
|
+
Release date: 2016-08-16
|
998
|
+
|
999
|
+
### Fixed
|
1000
|
+
|
1001
|
+
* Issue with modals present when closing the page using selenium - Issue #1696 [Jonas Nicklas, Thomas Walpole]
|
1002
|
+
* Server errors raised in test code have the cause set to an explanatory exception
|
1003
|
+
in rubies that support Exception#cause rather than a confusing ExpectationNotMet - Issue #1719 [Thomas Walpole]
|
1004
|
+
* background/given/given! RSpec aliases will work if RSpec config.shared_context_metadata_behavior == :apply_to_host_groups [Thomas Walpole]
|
1005
|
+
* Fixed setting of unexpectedAlertError now that Selenium will be freezing the Capabilities::DEFAULTS [Thomas Walpole]
|
1006
|
+
|
1007
|
+
### Added
|
1008
|
+
|
1009
|
+
* 'check', 'uncheck', and 'choose' can now optionally click the associated label if the checkbox/radio button is not visible [Thomas Walpole]
|
1010
|
+
* Raise error if Capybara.app_host/default_host are specified incorrectly [Thomas Walpole]
|
1011
|
+
* Capybara::Selector::FilterSet allows for sharing filter definitions between selectors [Thomas Walpole]
|
1012
|
+
* Remove need to pass nil locator in most node actions when locator is not needed [Thomas Walpole]
|
1013
|
+
* New frames API for drivers - Issue #1365 [Thomas Walpole]
|
1014
|
+
* Deprecated Element#parent in favor of Element#query_scope to better indicate what it is [Thomas Walpole]
|
1015
|
+
* Improved error messages for have_text matcher [Alex Chaffee, Thomas Walpole]
|
1016
|
+
* The `:with` option for the field selector now accepts a regular expression for matching the field value [Uwe Kubosch]
|
1017
|
+
* Support matching on aria-label attribute when finding fields/links/buttons - Issue #1528 [Thomas Walpole]
|
1018
|
+
* Optimize Capybara::Result to only apply fields as necessary in common use-case of `.all[idx]` [Thomas Walpole]
|
1019
|
+
|
1020
|
+
# Version 2.7.1
|
1021
|
+
|
1022
|
+
Release date: 2016-05-01
|
1023
|
+
|
1024
|
+
### Fixed
|
1025
|
+
|
1026
|
+
* Issue where within_Frame would fail with Selenium if the frame is removed from within itself [Thomas Walpole]
|
1027
|
+
* Reset sessions in reverse order so sessions with active servers are reset last - Issue #1692 [Jonas Nicklas, Thomas Walpole]
|
1028
|
+
|
1029
|
+
# Version 2.7.0
|
1030
|
+
|
1031
|
+
Release date: 2016-04-07
|
1032
|
+
|
1033
|
+
### Fixed
|
1034
|
+
|
1035
|
+
* Element#visible?/checked?/disabled?/selected? Now return boolean as expected when using the rack_test driver [Thomas Walpole]
|
1036
|
+
* The rack_test driver now considers \<input type="hidden"> elements as non-visible [Thomas Walpole]
|
1037
|
+
* A nil locator passed to the built-in html type selectors now behaves consistently, and finds elements of the expected types [Thomas Walpole]
|
1038
|
+
* Capybara::Server now searches for available ports on the same interface it binds to [Aaron Stone]
|
1039
|
+
* Selenium Driver handles system modals that appear when page is unloading [Thomas Walpole]
|
1040
|
+
* Warning output if unused parameters are passed to a selector query [Thomas Walpole]
|
1041
|
+
|
1042
|
+
### Added
|
1043
|
+
|
1044
|
+
* Capybara now waits for requests to Capybaras server to complete while restting the session [John Hawthorn, Thomas Walpole]
|
1045
|
+
* Capybara.reuse_server option to allow disabling of sharing server instance between sessions [Thomas Walpole]
|
1046
|
+
* :multiple filter added to relevant selectors [Thomas Walpole]
|
1047
|
+
* Provided server registrations for :webrick and :puma. Capybara.server = :puma for testing with Rails 5 [Thomas Walpole]
|
1048
|
+
* Deprecate passing a block to Capybara::server user Capybara::register_server instead [Thomas Walpole]
|
1049
|
+
* :option selector supports :selected and :disabled filters [Thomas Walpole]
|
1050
|
+
* Element#matches_selector? and associated matchers (match_selector, match_css, etc) for comparing an element to a selector [Thomas Walpole]
|
1051
|
+
* Deprecated Driver#browser_initialized? - Driver#reset! is required to be synchronous [Jonas Nicklas, Thomas Walpole]
|
1052
|
+
* Deprecated Capybara.save_and_open_page_path in favor of Capybara.save_path with slightly different behavior when using relative paths with
|
1053
|
+
save_page/save_screenshot [Thomas Walpole]
|
1054
|
+
* :label selector [Thomas Walpole]
|
1055
|
+
|
1056
|
+
# Version 2.6.2
|
1057
|
+
|
1058
|
+
Relase date: 2016-01-27
|
1059
|
+
|
1060
|
+
### Fixed
|
1061
|
+
|
1062
|
+
* support for more than just addressable 2.4.0 [Thomas Walpole]
|
1063
|
+
|
1064
|
+
# Version 2.6.1
|
1065
|
+
|
1066
|
+
Release date: 2016-01-27
|
1067
|
+
|
1068
|
+
### Fixed
|
1069
|
+
|
1070
|
+
* Add missing require for addressable [Jorge Bejar]
|
1071
|
+
|
1072
|
+
# Version 2.6.0
|
1073
|
+
|
1074
|
+
Relase date: 2016-01-17
|
1075
|
+
|
1076
|
+
### Fixed
|
1077
|
+
|
1078
|
+
* Fixed path escaping issue with current_path matchers [Thomas Walpole, Luke Rollans] (Issue #1611)
|
1079
|
+
* Fixed circular require [David Rodríguez]
|
1080
|
+
* Capybara::RackTest::Form no longer overrides Object#method [David Rodriguez]
|
1081
|
+
* options and with_options filter for :select selector have more intuitive visibility behavior [Nathan]
|
1082
|
+
* Test for nested modal API method support [Thomas Walpole]
|
1083
|
+
|
1084
|
+
|
1085
|
+
### Added
|
1086
|
+
|
1087
|
+
* Capybara.modify_selector [Thomas Walpole]
|
1088
|
+
* xfeature and ffeature aliases added when using RSpec [Filip Bartuzi]
|
1089
|
+
* Selenium driver supports a :clear option to #set to handle different strategies for clearing a field [Thomas Walpole]
|
1090
|
+
* Support the use of rack 2.0 with the rack_test driver [Travis Grathwell, Thomas Walpole]
|
1091
|
+
* Disabled option for default selectors now supports true, false, or :all [Jillian Rosile, Thomas Walpole]
|
1092
|
+
* Modal API methods now default wait time to Capybara.default_max_wait_time [Thomas Walpole]
|
1093
|
+
|
1094
|
+
# Version 2.5.0
|
1095
|
+
|
1096
|
+
Release date: 2015-08-25
|
1097
|
+
|
1098
|
+
### Fixed
|
1099
|
+
|
1100
|
+
* Error message now raised correctly when invalid options passed to 'have_text'/'have_content' [Thomas Walpole]
|
1101
|
+
* Rack-test driver correctly gets document title when elements on the page have nested title elements (SVG) [Thomas Walpole]
|
1102
|
+
* 'save_page' no longer errors when using Capybara.asset_host if the page has no \<head> element [Travis Grathwell]
|
1103
|
+
* rack-test driver will ignore clicks on links with href starting with '#' or 'javascript:'
|
1104
|
+
|
1105
|
+
### Added
|
1106
|
+
|
1107
|
+
* has_current_path? and associated asserts/matchers added [Thomas Walpole]
|
1108
|
+
* Implement Node#path in selenium driver [Soutaro Matsumoto]
|
1109
|
+
* 'using_session' is now nestable [Thomas Walpole]
|
1110
|
+
* 'switch_to_window' will now use waiting behavior for a matching window to appear [Thomas Walpole]
|
1111
|
+
* Warning when attempting to select a disabled option
|
1112
|
+
* Capybara matchers are now available in RSpec view specs by default [Joshua Clayton]
|
1113
|
+
* 'have_link' and 'click_link' now accept Regexp for href matching [Yaniv Savir]
|
1114
|
+
* 'find_all' as an alias of 'all' due to collision with RSpec
|
1115
|
+
* Capybara.wait_on_first_by_default setting (default is false)
|
1116
|
+
If set to true 'first' will use Capybaras waiting behavior to wait for at least one element to appear by default
|
1117
|
+
* Capybara waiting behavior uses the monotonic clock if supported to ease restrictions on freezing time in tests [Dmitry Maksyoma, Thomas Walpole]
|
1118
|
+
* Capybara.server_errors setting that allows to configure what type of errors will be raised from the server thread [Thomas Walpole]
|
1119
|
+
* Node#send_keys to allow for sending keypresses directly to elements [Thomas Walpole]
|
1120
|
+
* 'formmethod' attribute support in RackTest driver [Emilia Andrzejewska]
|
1121
|
+
* Clear field using backspaces in Selenium driver by using `:fill_options => { :clear => :backspace }` [Joe Lencioni]
|
1122
|
+
|
1123
|
+
### Deprecated
|
1124
|
+
|
1125
|
+
* Capybara.default_wait_time deprecated in favor of Capybara.default_max_wait_time to more clearly explain its purpose [Paul Pettengill]
|
1126
|
+
|
1127
|
+
# Version 2.4.4
|
1128
|
+
|
1129
|
+
Release date: 2014-10-13
|
1130
|
+
|
1131
|
+
### Fixed
|
1132
|
+
|
1133
|
+
* Test for visit behavior updated [Phil Baker]
|
1134
|
+
* Removed concurrency prevention in favor of a note in the README - due to load order issues
|
1135
|
+
|
1136
|
+
# Version 2.4.3
|
1137
|
+
|
1138
|
+
Relase date: 2014-09-21
|
1139
|
+
|
1140
|
+
### Fixed
|
1141
|
+
|
1142
|
+
* Update concurrency prevention to match Rails 4.2 behavior
|
1143
|
+
|
1144
|
+
# Version 2.4.2
|
1145
|
+
|
1146
|
+
Release date: 2014-09-20
|
1147
|
+
|
1148
|
+
### Fixed
|
1149
|
+
|
1150
|
+
* Prevent concurrency issue when testing Rails app with default test environment [Thomas Walpole]
|
1151
|
+
* Tags for windows API tests fixed [Dmitry Vorotilin]
|
1152
|
+
* Documentation Fixes [Andrey Botalov]
|
1153
|
+
* Always convert visit url to string, fixes issue with visit when always_include_port was enabled [Jake Goulding]
|
1154
|
+
* Check correct rspec version before including ::RSpec::Matchers::Composable in Capybara RSpec matchers [Thomas Walpole, Justin Ko]
|
1155
|
+
|
1156
|
+
# Version 2.4.1
|
1157
|
+
|
1158
|
+
Release date: 2014-07-03
|
1159
|
+
|
1160
|
+
### Added
|
1161
|
+
|
1162
|
+
* 'assert_text', 'assert_no_text', 'assert_title', 'assert_no_title' methods added [Andrey Botalov]
|
1163
|
+
* have_title matcher now supports :wait option [Andrey Botalov]
|
1164
|
+
* More descriptive have_text error messages [Andrey Botalov]
|
1165
|
+
* New modal API ('accept_alert', 'accept_confirm', 'dismiss_confirm', 'accept_prompt', 'dismiss_prompt') - [Mike Pack, Thomas Walpole]
|
1166
|
+
* Warning when attempting to set contents of a readonly element
|
1167
|
+
* Suport for and/or compounding of Capybara's RSpec matchers for RSpec 3 [Thomas Walpole]
|
1168
|
+
* :fill_options option for 'fill_in' method that propagates to 'set' to allow for driver specific modification of how fields are filled in [Gabriel Sobrinho, Thomas Walpole]
|
1169
|
+
* Improved selector/filter description in failure messages [Thomas Walpole]
|
1170
|
+
|
1171
|
+
### Fixed
|
1172
|
+
|
1173
|
+
* HaveText error message now shows the text checked all the time
|
1174
|
+
* RackTest driver no longer attempts to follow an anchor tag without an href attribute
|
1175
|
+
* Warnings under RSpec 3
|
1176
|
+
* Handle URI schemes like about: correctly [Andrey Botalov]
|
1177
|
+
* RSpecs expose_dsl_globally option is now followed [Myron Marston, Thomas Walpole]
|
1178
|
+
|
1179
|
+
# Version 2.3.0
|
1180
|
+
|
1181
|
+
Release date: 2014-06-02
|
1182
|
+
|
1183
|
+
### Added
|
1184
|
+
|
1185
|
+
* New window management API [Andrey Botalov]
|
1186
|
+
* Speed improvement for visible text detection in RackTest [Thomas Walpole]
|
1187
|
+
Thanks to Phillipe Creux for instigating this
|
1188
|
+
* RSpec 3 compatability
|
1189
|
+
* 'save_and_open_screenshot' functionality [Greg Lazarev]
|
1190
|
+
* Server errors raised on visit and synchronize [Jonas Nicklas]
|
1191
|
+
|
1192
|
+
### Fixed
|
1193
|
+
|
1194
|
+
* CSSHandlers now derives from BasicObject so globally included functions (concat, etc) shouldn't cause issues [Thomas Walpole]
|
1195
|
+
* touched reset after session is reset [lesliepc16]
|
1196
|
+
|
1197
|
+
# Version 2.2.1
|
1198
|
+
|
1199
|
+
Release date: 2014-01-06
|
1200
|
+
|
1201
|
+
### Fixed
|
1202
|
+
|
1203
|
+
* Reverted a change in 2.2.0 which navigates to an empty file on `reset`.
|
1204
|
+
Capybara, now visits `about:blank` like it did before. [Jonas Nicklas]
|
1205
|
+
|
1206
|
+
# Version 2.2.0
|
1207
|
+
|
1208
|
+
Release date: 2013-11-21
|
1209
|
+
|
1210
|
+
### Added
|
1211
|
+
|
1212
|
+
* Add `go_back` and `go_forward` methods. [Vasiliy Ermolovich]
|
1213
|
+
* Support RSpec 3 [Thomas Holmes]
|
1214
|
+
* `has_button?`, `has_checked_field?` and `has_unchecked_field?` accept
|
1215
|
+
options, like other matchers. [Carol Nichols]
|
1216
|
+
* The `assert_selector` and `has_text?` methods now support the `:wait` option
|
1217
|
+
[Vasiliy Ermolovich]
|
1218
|
+
* RackTest's visible? method now checks for the HTML5 `hidden` attribute.
|
1219
|
+
* Results from `#all` now delegate the `sample` method. [Phil Lee]
|
1220
|
+
* The `set` method now works for contenteditable attributes under Selenium.
|
1221
|
+
[Jon Rowe]
|
1222
|
+
* radio buttons and check boxes can be filtered by option value, useful when
|
1223
|
+
selecting by name [Jonas Nicklas]
|
1224
|
+
* feature blocks can be nested within other feature blocks in RSpec tests
|
1225
|
+
[Travis Gaff]
|
1226
|
+
|
1227
|
+
### Fixed
|
1228
|
+
|
1229
|
+
* Fixed race conditions causing stale element errors when filtering by text.
|
1230
|
+
[Jonas Nicklas]
|
1231
|
+
* Resetting the page is now synchronous and navigates to an empty HTML file,
|
1232
|
+
instead of `about:blank`, fixing hanging issues in JRuby. [Jonas Nicklas]
|
1233
|
+
* Fixed cookies not being set when path is blank under RackTest [Thomas Walpole]
|
1234
|
+
* Clearing fields now correctly causes change events [Jonas Nicklas]
|
1235
|
+
* Navigating to an absolute URI without trailing slash now works as expected
|
1236
|
+
under RackTest [Jonas Nicklas]
|
1237
|
+
* Checkboxes without assigned value default to `on` under RackTest [Nigel Sheridan-Smith]
|
1238
|
+
* Clicks on buttons with no form associated with them are ignored in RackTest
|
1239
|
+
instead of raising an obscure exception. [Thomas Walpole]
|
1240
|
+
* execute_script is now a session method [Andrey Botalov]
|
1241
|
+
* Nesting `within_window` and `within_frame` inside `within` resets the scope
|
1242
|
+
so that they behave like a user would expect [Thomas Walpole]
|
1243
|
+
* Improve handling of newlines in textareas [Thomas Walpole]
|
1244
|
+
* `Capybara::Result` delegates its inspect method, so as not to confuse users
|
1245
|
+
[Sam Rawlins]
|
1246
|
+
* save_page always returns a full path, fixes problems with Launchy [Jonas Nicklas]
|
1247
|
+
* Selenium driver's `quit` method does nothing when browser hasn't been loaded
|
1248
|
+
[randoum]
|
1249
|
+
* Capybara's WEBRick server now propertly respects the server_host option
|
1250
|
+
[Dmitry Vorotilin]
|
1251
|
+
* gemspec now includes license information [Jonas Nicklas]
|
1252
|
+
|
1253
|
+
# Version 2.1.0
|
1254
|
+
|
1255
|
+
Release date: 2013-04-09
|
1256
|
+
|
1257
|
+
### Changed
|
1258
|
+
|
1259
|
+
* Hard version requirement on Ruby >= 1.9.3. Capybara will no longer install
|
1260
|
+
on 1.8.7. [Felix Schäfer]
|
1261
|
+
* Capybara no longer depends on the `selenium-webdriver` gem. Add it to
|
1262
|
+
your Gemfile if you wish to use the Selenium driver. [Jonas Nicklas]
|
1263
|
+
* `Capybara.ignore_hidden_elements` defaults to `true`. [Jonas Nicklas]
|
1264
|
+
* In case of multiple matches `smart` matching is used by default. Set
|
1265
|
+
`Capybara.match = :one` to revert to old behaviour. [Jonas Nicklas].
|
1266
|
+
* Options in select boxes use smart matching and no longer need to match
|
1267
|
+
exactly. Set `Capybara.exact_options = false` to revert to old behaviour.
|
1268
|
+
[Jonas Nicklas].
|
1269
|
+
* Visibility of text depends on `Capybara.ignore_hidden_elements` instead of
|
1270
|
+
always returning only visible text. Set `Capybara.visible_text_only = true`
|
1271
|
+
to revert to old behaviour. [Jonas Nicklas]
|
1272
|
+
* Cucumber cleans up session after scenario instead. This is consistent with
|
1273
|
+
RSpec and makes more sense, since we raise server errors in `reset!`.
|
1274
|
+
[Jonas Nicklas]
|
1275
|
+
|
1276
|
+
### Added
|
1277
|
+
|
1278
|
+
* All actions (`click_link`, `fill_in`, etc...) and finders now take an options
|
1279
|
+
hash, which is passed through to `find`. [Jonas Nicklas]
|
1280
|
+
* CSS selectors are sent straight through to driver instead of being converted
|
1281
|
+
to XPath first. Enables the use of some pseudo selectors, such as `invalid`
|
1282
|
+
in some drivers. [Thomas Walpole]
|
1283
|
+
* `Capybara.asset_host` option, which inserts a `base` tag into the page on
|
1284
|
+
`save_and_open_page`, eases debugging with the Rails asset pipeline.
|
1285
|
+
[Steve Hull]
|
1286
|
+
* `exact` option, can specify whether to match substrings or entire text.
|
1287
|
+
[Jonas Nicklas]
|
1288
|
+
* `match` option, can specify behaviour in case of multiple matches.
|
1289
|
+
[Jonas Nicklas]
|
1290
|
+
* `wait` option, can specify how long to wait for a given action/finder.
|
1291
|
+
[Jonas Nicklas]
|
1292
|
+
* Config option which disables bubbling of errors raised inside server.
|
1293
|
+
[Jonas Nicklas]
|
1294
|
+
* `text` now takes a parameter which makes it possible to return either all
|
1295
|
+
text or only visible text. The default depends on
|
1296
|
+
`Capybara.ignore_hidden_elements`. `Capybara.visible_text_only` option is
|
1297
|
+
available for compatibility. [Jonas Nicklas]
|
1298
|
+
* `has_content?` and `has_text?` now take the same count options as `has_selector?`
|
1299
|
+
[Andrey Botalov]
|
1300
|
+
* `current_scope` is now public API, returns the current element when `within`
|
1301
|
+
is used. [Martijn Walraven]
|
1302
|
+
* `find("input").disabled?` returns true if a node is disabled. [Ben Lovell]
|
1303
|
+
* Find disabled fields and buttons with `:disabled => false`. [Jonas Nicklas]
|
1304
|
+
* `find("input").hover` moves the mouse to the element in supported drivers.
|
1305
|
+
[Thomas Walpole]
|
1306
|
+
* RackTest driver now support `form` attribute on form elements.
|
1307
|
+
[Thomas Walpole]
|
1308
|
+
* `page.title` returns the page title. [Terry Progetto]
|
1309
|
+
* `has_title?` matcher to assert on page title. [Jonas Nicklas]
|
1310
|
+
* The gem is now signed with a certicficate. The public key is available in the
|
1311
|
+
repo. [Jonas Nicklas]
|
1312
|
+
* `:select` and `:textarea` are valid options for the `:type` filter on `find_field`
|
1313
|
+
and `has_field?`. [Yann Plancqueel]
|
1314
|
+
|
1315
|
+
### Fixed
|
1316
|
+
|
1317
|
+
* Fixed race conditions when synchronizing across multiple nodes [Jonas Nicklas]
|
1318
|
+
* Fixed race conditions in deeply nested selectors [Jonas Nicklas]
|
1319
|
+
* Fix issue with `within_frame`, where selecting multiple nested frames didn't
|
1320
|
+
work as intended. [Thomas Walpole]
|
1321
|
+
* RackTest no longer fills in readonly textareas. [Thomas Walpole]
|
1322
|
+
* Don't use autoload to load files, require them directly instead. [Jonas Nicklas]
|
1323
|
+
* Rescue weird exceptions when booting server [John Wilger]
|
1324
|
+
* Non strings are now properly cast when using the maxlength attribute [Jonas Nicklas]
|
1325
|
+
|
1326
|
+
# Version 2.0.3
|
1327
|
+
|
1328
|
+
Release date: 2013-03-26
|
1329
|
+
|
1330
|
+
* Check against Rails version fixed to work with Rails' master branch now returning
|
1331
|
+
a Gem::Version [Jonas Nicklas]
|
1332
|
+
* Use posix character class for whitespace replace, solves various encoding
|
1333
|
+
problems on Ruby 2.0.0 and JRuby. [Ben Cates]
|
1334
|
+
|
1335
|
+
# Version 2.0.2
|
1336
|
+
|
1337
|
+
Release date: 2012-12-31
|
1338
|
+
|
1339
|
+
### Changed
|
1340
|
+
|
1341
|
+
* Capybara no longer uses thin as a server if it is available, due to thread
|
1342
|
+
safety issues. Now Capybara always defaults to WEBrick. [Jonas Nicklas]
|
1343
|
+
|
1344
|
+
### Fixed
|
1345
|
+
|
1346
|
+
* Suppress several warnings [Kouhei Sutou]
|
1347
|
+
* Fix default host becoming nil [Brian Cardarella]
|
1348
|
+
* Fix regression in 2.0.1 which caused node comparisons with non node objects
|
1349
|
+
to throw an exception [Kouhei Sotou]
|
1350
|
+
* A few changes to the specs, only relevant to driver authors [Jonas Nicklas]
|
1351
|
+
* Encoding error under JRuby [Piotr Krawiec]
|
1352
|
+
* Ruby 2 encoding fix [Murahashi Sanemat Kenichi]
|
1353
|
+
* Catch correct exception on server timeout [Jonathan del Strother]
|
1354
|
+
|
1355
|
+
# Version 2.0.1
|
1356
|
+
|
1357
|
+
Release date: 2012-12-21
|
1358
|
+
|
1359
|
+
### Changed
|
1360
|
+
|
1361
|
+
* Move the RackTest driver override with the `:respect_data_method` option
|
1362
|
+
enabled from capybara/rspec to capybara/rails, so that it is enabled in
|
1363
|
+
Rails projects that don't use RSpec. [Carlos Antonio da Silva]
|
1364
|
+
* `source` is now an alias for `html`. RackTest no longer returns modifications
|
1365
|
+
to `html`. This basically codifies the behaviour which we've had for a while
|
1366
|
+
anyway, and should have minimal impact for end users. For driver authors, it
|
1367
|
+
means that they only have to implement `html`, and not `source`. [Jonas
|
1368
|
+
Nicklas]
|
1369
|
+
|
1370
|
+
### Fixed
|
1371
|
+
|
1372
|
+
* Visiting relative URLs when `app_host` is set and no server is running works
|
1373
|
+
as expected. [Jonas Nicklas]
|
1374
|
+
* `fill_in` works properly under Selenium again when the caret is not at the
|
1375
|
+
end of the field before the method is called. [Douwe Maan, Jonas Nicklas, Jari
|
1376
|
+
Bakken]
|
1377
|
+
* `attach_file` can once again be given a Pathname [Jake Goulding]
|
1378
|
+
|
1379
|
+
# Version 2.0.0
|
1380
|
+
|
1381
|
+
Release date: 2012-11-05
|
1382
|
+
|
1383
|
+
### Changed
|
1384
|
+
|
1385
|
+
* Dropped official support for Ruby 1.8.x. [Jonas Nicklas]
|
1386
|
+
* `respect_data_method` default to `false` for the RackTest driver in non-rails
|
1387
|
+
applications. That means that Capybara no longer picks up `data-method="post"`
|
1388
|
+
et. al. from links by default when you haven't required capybara/rails
|
1389
|
+
[Jonas Nicklas]
|
1390
|
+
* `find` now raises an error if more than one element was found. Since `find` is
|
1391
|
+
used by most actions, like `click_link` under the surface, this means that all
|
1392
|
+
actions need to unambiguous in the future. [Jonas Nicklas]
|
1393
|
+
* All methods which find or manipulate fields or buttons now ignore them when
|
1394
|
+
they are disabled. [Jonas Nicklas]
|
1395
|
+
* Can no longer find elements by id via `find(:foo)`, use `find("#foo")` or
|
1396
|
+
`find_by_id("foo")` instead. [Jonas Nicklas]
|
1397
|
+
* `Element#text` on RackTest now only returns visible text and normalizes
|
1398
|
+
(strips) whitespace, as with Selenium [Mark Dodwell, Jo Liss]
|
1399
|
+
* `has_content?` now checks the text value returned by `Element#text`, as opposed to
|
1400
|
+
querying the DOM. Which means it does not match hidden text.
|
1401
|
+
[Ryan Montgomery, Mark Dodwell, Jo Liss]
|
1402
|
+
* #394: `#body` now returns the unmodified source (like `#source`), not the current
|
1403
|
+
state of the DOM (like `#html`), by popular request [Jonas Nicklas]
|
1404
|
+
* `Node#all` no longer returns an array, but rather an enumerable `Capybara::Result`
|
1405
|
+
[Jonas Nicklas]
|
1406
|
+
* The arguments to `select` and `unselect` needs to be the exact text of an option
|
1407
|
+
in a select box, substrings are no longer allowed [Jonas Nicklas]
|
1408
|
+
* The `options` option to `has_select?` must match the exact set of options. Use
|
1409
|
+
`with_options` for the old behaviour. [Gonzalo Rodriguez]
|
1410
|
+
* The `selected` option to `has_select?` must match all selected options for multiple
|
1411
|
+
selects. [Gonzalo Rodriguez]
|
1412
|
+
* Various internals for running driver specs, this should only affect driver authors
|
1413
|
+
[Jonas Nicklas]
|
1414
|
+
* Rename `Driver#body` to `Driver#html` (relevant only for driver authors) [Jo
|
1415
|
+
Liss]
|
1416
|
+
|
1417
|
+
### Removed
|
1418
|
+
|
1419
|
+
* No longer possible to specify `failure_message` for custom selectors. [Jonas Nicklas]
|
1420
|
+
* #589: `Capybara.server_boot_timeout` has been removed in favor of a higher
|
1421
|
+
(60-second) hard-coded timeout [Jo Liss]
|
1422
|
+
* `Capybara.prefer_visible_elements` has been removed, as it is no longer needed
|
1423
|
+
with the changed find semantics [Jonas Nicklas]
|
1424
|
+
* `Node#wait_until` and `Session#wait_until` have been removed. See `Node#synchronize`
|
1425
|
+
for an alternative [Jonas Nicklas]
|
1426
|
+
* `Capybara.timeout` has been removed [Jonas Nicklas]
|
1427
|
+
* The `:resynchronize` option has been removed from the Selenium driver [Jonas Nicklas]
|
1428
|
+
* The `rows` option to `has_table?` has been removed without replacement.
|
1429
|
+
[Jonas Nicklas]
|
1430
|
+
|
1431
|
+
### Added
|
1432
|
+
|
1433
|
+
* Much improved error message [Jonas Nicklas]
|
1434
|
+
* Errors from inside the session for apps running in a server are raised when
|
1435
|
+
session is reset [James Tucker, Jonas Nicklas]
|
1436
|
+
* A ton of new selectors built in out of the box, like `field`, `link`, `button`,
|
1437
|
+
etc... [Adam McCrea, Jonas Nicklas]
|
1438
|
+
* `has_text?` has been added as an alias for `has_content?` [Jonas Nicklas]
|
1439
|
+
* Add `Capybara.server_host` option (default: 127.0.0.1) [David Balatero]
|
1440
|
+
* Add `:type` option for `page.has_field?` [Gonzalo Rodríguez]
|
1441
|
+
* Custom matchers can now be specified in CSS in addition to XPath [Jonas Nicklas]
|
1442
|
+
* `Node#synchronize` method to rerun a block of code if certain errors are raised
|
1443
|
+
[Jonas Nicklas]
|
1444
|
+
* `Capybara.always_include_port` config option always includes the server port in
|
1445
|
+
URLs when using `visit`. Facilitates testing different domain names. [Douwe Maan]
|
1446
|
+
* Redirect limit for RackTest driver is configurable [Josh Lane]
|
1447
|
+
* Server port can be manually specified during initialization of server.
|
1448
|
+
[Jonas Nicklas, John Wilger]
|
1449
|
+
* `has_content?` and `has_text?` can be given a regular expression [Vasiliy Ermolovich]
|
1450
|
+
* Multiple files can be uploaded with `attach_file` [Jarl Friis]
|
1451
|
+
|
1452
|
+
### Fixed
|
1453
|
+
|
1454
|
+
* Nodes found via `all` are no longer reloaded. This fixes weird quirks where
|
1455
|
+
nodes would seemingly randomly replace themselves with other nodes [Jonas Nicklas]
|
1456
|
+
* Session is only reset if it has been modified, dramatically improves performance if
|
1457
|
+
only part of the test suite runs Capybara. [Jonas Nicklas]
|
1458
|
+
* Test suite now passes on Ruby 1.8 [Jo Liss]
|
1459
|
+
* #565: `require 'capybara/dsl'` is no longer necessary [Jo Liss]
|
1460
|
+
* `Rack::Test` now respects ports when changing hosts [Jo Liss]
|
1461
|
+
* #603: `Rack::Test` now preserves the original referer URL when following a
|
1462
|
+
redirect [Rob van Dijk]
|
1463
|
+
* Rack::Test now does not send a referer when calling `visit` multiple times
|
1464
|
+
[Jo Liss]
|
1465
|
+
* Exceptions during server boot now propagate to main thread [James Tucker]
|
1466
|
+
* RSpec integration now cleans up before the test instead of after [Darwin]
|
1467
|
+
* If `respect_data_method` is true, the data-method attribute can be capitalized
|
1468
|
+
[Marco Antonio]
|
1469
|
+
* Rack app boot timing out raises an error as opposed to just logging to STDOUT
|
1470
|
+
[Adrian Irving-Beer]
|
1471
|
+
* `#source` returns an empty string instead of nil if no pages have been visited
|
1472
|
+
[Jonas Nicklas]
|
1473
|
+
* Ignore first leading newline in textareas in RackTest [Vitalii Khustochka]
|
1474
|
+
* `within_frame` returns the value of the given block [Alistair Hutchison]
|
1475
|
+
* Running `Node.set` on text fields will not trigger more than one change event
|
1476
|
+
[Andrew Kasper]
|
1477
|
+
* Throw an error when an option is given to a finder method, like `all` or
|
1478
|
+
`has_selector?` which Capybara doesn't understand [Jonas Nicklas]
|
1479
|
+
* Two references to the node now register as equal when comparing them with `==`
|
1480
|
+
[Jonas Nicklas]
|
1481
|
+
* `has_text` (`has_content`) now accepts non-string arguments, like numbers.
|
1482
|
+
[Jo Liss]
|
1483
|
+
* `has_text` and `text` now correctly normalize Unicode whitespace, such as
|
1484
|
+
` `. [Jo Liss]
|
1485
|
+
* RackTest allows protocol relative URLs [Jonas Nicklas]
|
1486
|
+
* Arguments are cast to string where necessary, so that e.g. `click_link(:foo)` works
|
1487
|
+
as expected. [Jonas Nicklas]
|
1488
|
+
* `:count => 0` now works as expected [Jarl Friis]
|
1489
|
+
* Fixed race conditions on negative assertions when removing nodes [Jonas Nicklas]
|
1490
|
+
|
1491
|
+
# Version 1.1.4
|
1492
|
+
|
1493
|
+
Release date: 2012-11-28
|
1494
|
+
|
1495
|
+
### Fixed
|
1496
|
+
|
1497
|
+
* Fix more race conditions on negative assertions. [Jonas Nicklas]
|
1498
|
+
|
1499
|
+
# Version 1.1.3
|
1500
|
+
|
1501
|
+
Release date: 2012-10-30
|
1502
|
+
|
1503
|
+
### Fixed:
|
1504
|
+
|
1505
|
+
* RackTest driver ignores leading newline in textareas, this is consistent with
|
1506
|
+
the spec and how browsers behave. [Vitalii Khustochka]
|
1507
|
+
* Nodes found via `all` and `first` are never reloaded. This fixes issues where
|
1508
|
+
a node would sometimes magically turn into a completely different node.
|
1509
|
+
[Jonas Nicklas]
|
1510
|
+
* Fix race conditions on negative assertions. This fixes issues where removing
|
1511
|
+
an element and asserting on its non existence could cause
|
1512
|
+
StaleElementReferenceError and similar to be thrown. [Jonas Nicklas]
|
1513
|
+
* Options are no longer lost when reloading elements. This fixes issues where
|
1514
|
+
reloading an element would cause a non-matching element to be found, because
|
1515
|
+
options to `find` were ignored. [Jonas Nicklas]
|
1516
|
+
|
1517
|
+
# Version 1.1.2
|
1518
|
+
|
1519
|
+
Release date: 2011-11-15
|
1520
|
+
|
1521
|
+
### Fixed
|
1522
|
+
|
1523
|
+
* #541: Make attach_file work with selenium-webdriver >=2.12 [Jonas Nicklas]
|
1524
|
+
|
1525
|
+
# Version 1.1.0
|
1526
|
+
|
1527
|
+
Release date: 2011-09-02
|
1528
|
+
|
1529
|
+
### Fixed
|
1530
|
+
|
1531
|
+
* Sensible inspect for Capybara::Session [Jo Liss]
|
1532
|
+
* Fix headers and host on redirect [Matt Colyer, Jonas Nicklas, Kim Burgestrand]
|
1533
|
+
* using_driver now restores the old driver instead of reverting to the default [Carol Nichols]
|
1534
|
+
* Errors when following links relative to the root path under rack-test [Jonas Nicklas, Kim Burgestrand]
|
1535
|
+
* Make sure exit codes are propagated properly [Edgar Beigarts]
|
1536
|
+
|
1537
|
+
### Changed
|
1538
|
+
|
1539
|
+
* resynchronization is off by default under Selenium
|
1540
|
+
|
1541
|
+
### Added
|
1542
|
+
|
1543
|
+
* Elements are automatically reloaded (including parents) during wait [Jonas Nicklas]
|
1544
|
+
* Rescue driver specific element errors, such as the dreaded ObsoleteElementError and retry [Jonas Nicklas]
|
1545
|
+
* Raise an error if something has frozen time [Jonas Nicklas]
|
1546
|
+
* Allow within to take a node instead of a selector [Peter Williams]
|
1547
|
+
* Using wait_time_time to change wait time for a block of code [Jonas Nicklas, Kim Burgestrand]
|
1548
|
+
* Option for rack-test driver to disable data-method hack [Jonas Nicklas, Kim Burgestrand]
|
1549
|
+
|
1550
|
+
# Version 1.0.1
|
1551
|
+
|
1552
|
+
Release date: 2011-08-12
|
1553
|
+
|
1554
|
+
### Fixed
|
1555
|
+
|
1556
|
+
* Dependend on selenium-webdriver ~>2.0 and fix deprecations [Thomas Walpole, Jo Liss]
|
1557
|
+
* Depend on Launch 2.0 [Jeremy Hinegardner]
|
1558
|
+
* Rack-Test ignores fill in on fields with maxlength=""
|
1559
|
+
|
1560
|
+
# Version 1.0.0
|
1561
|
+
|
1562
|
+
Release date: 2011-06-14
|
1563
|
+
|
1564
|
+
### Added
|
1565
|
+
|
1566
|
+
* Added DSL for acceptance tests, inspired by Luismi Cavallé's Steak [Luismi Cavalle and Jonas Nicklas]
|
1567
|
+
* Selenium driver automatically waits for AJAX requests to finish [mgiambalvo, Nicklas Ramhöj and Jonas Nicklas]
|
1568
|
+
* Support for switching between multiple named sessions [Tristan Dunn]
|
1569
|
+
* failure_message can be specified for Selectors [Jonas Nicklas]
|
1570
|
+
* RSpec matchers [David Chelimsky and Jonas Nicklas]
|
1571
|
+
* Added save_page to save tempfile without opening in browser [Jeff Kreeftmeijer]
|
1572
|
+
* Cucumber now switches automatically to a registered driver if the tag matches the name [Jonas Nicklas]
|
1573
|
+
* Added Session#text [Jonas Nicklas and Scott Cytacki]
|
1574
|
+
* Added Session#html as an alias for Session#body [Jo Liss]
|
1575
|
+
* Added Session#current_host method [Jonas Nicklas]
|
1576
|
+
* Buttons can now be clicked by title [Javier Martin]
|
1577
|
+
* :headers option for RackTest driver to set custom HTTP headers [Jonas Nicklas]
|
1578
|
+
|
1579
|
+
### Removed
|
1580
|
+
|
1581
|
+
* Culerity and Celerity drivers have been removed and split into separate gems [Gabriel Sobrinho]
|
1582
|
+
|
1583
|
+
### Deprecated
|
1584
|
+
|
1585
|
+
* `include Capybara` has been deprecated in favour of `include Capybara::DSL` [Jonas Nicklas]
|
1586
|
+
|
1587
|
+
### Changed
|
1588
|
+
|
1589
|
+
* Rack test driver class has been renamed from Capybara::Driver::RackTest to Capybara::RackTest::Driver [Jonas Nicklas]
|
1590
|
+
* Selenium driver class has been renamed from Capybara::Driver::Selenium to Capybara::Selenium::Driver [Jonas Nicklas]
|
1591
|
+
* Capybara now prefers visible elements over hidden elements, disable by setting Capybara.prefer_visible_elements = false [Jonas Nicklas and Nicklas Ramhöj]
|
1592
|
+
* For RSpec, :type => :request is now supported (and preferred over :acceptance) [Jo Liss]
|
1593
|
+
* Selenium driver tried to wait for AJAX requests to finish before proceeding [Jonas Nicklas and Nicklas Ramhöj]
|
1594
|
+
* Session no longer uses method missing, uses explicit delegates instead [Jonas Nicklas]
|
1595
|
+
|
1596
|
+
### Fixed
|
1597
|
+
|
1598
|
+
* The Rack::Test driver now respects maxlength on text fields [Guilherme Carvalho]
|
1599
|
+
* Allow for more than one save_and_open_page call per second [Jo Liss]
|
1600
|
+
* Automatically convert options to :count, :minimum, :maximum, etc. to integers [Keith Marcum]
|
1601
|
+
* Rack::Test driver honours maxlength on input fields [Guilherme Carvalho]
|
1602
|
+
* Rack::Test now works as expected with domains and subdomains [Jonas Nicklas]
|
1603
|
+
* Session is reset more thoroughly between tests. [Jonas Nicklas]
|
1604
|
+
* Raise error when uploading non-existant file [Jonas Nicklas]
|
1605
|
+
* Rack reponse body should respond to #each [Piotr Sarnacki]
|
1606
|
+
* Deprecation warnings with selenium webdriver 0.2.0 [Aaron Gibraltar]
|
1607
|
+
* Selenium Chrome no longer YELLS tagname [Carl Jackson & David W. Frank]
|
1608
|
+
* Capybara no longer strips encoding before sending to Rack [Jonas Nicklas]
|
1609
|
+
* Improve handling of relative URLs [John Barton]
|
1610
|
+
* Readd and fix build_rack_mock_session [Jonas Nicklas, Jon Leighton]
|
1611
|
+
|
1612
|
+
# Version 0.4.1
|
1613
|
+
|
1614
|
+
Release date: 2011-01-21
|
1615
|
+
|
1616
|
+
### Added
|
1617
|
+
|
1618
|
+
* New click_on alias for click_link_or_button, shorter yet unambiguous. [Jonas Nicklas]
|
1619
|
+
* Finders now accept :visible => false which will find all elements regardless of Capybara.ignore_hidden_elements [Jonas Nicklas]
|
1620
|
+
* Configure how the server is started via Capybara.server { |app, port| ... }. [John Firebough]
|
1621
|
+
* Added :between, :maximum and :minimum options to has_selector and friends [James B. Byrne]
|
1622
|
+
* New Capybara.string util function which allows matchers on arbitrary strings, mostly for helper and view specs [David Chelimsky and Jonas Nicklas]
|
1623
|
+
* Server boot timeout is now configurable, via Capybara.server_boot_timeout [Adam Cigánek]
|
1624
|
+
* Built in support for RSpec [Jonas Nicklas]
|
1625
|
+
* Capybara.using_driver to switch to a different driver temporarily [Jeff Kreeftmeijer]
|
1626
|
+
* Added Session#first which is somewhat speedier than Session#all, use it internally for speed boost [John Firebaugh]
|
1627
|
+
|
1628
|
+
### Changed
|
1629
|
+
|
1630
|
+
* Session#within now accepts the same arguments as other finders, like Session#all and Session#find [Jonas Nicklas]
|
1631
|
+
|
1632
|
+
### Removed
|
1633
|
+
|
1634
|
+
* All deprecations from 0.4.0 have been removed. [Jonas Nicklas]
|
1635
|
+
|
1636
|
+
### Fixed
|
1637
|
+
|
1638
|
+
* Don't mangle URLs in save_and_open_page when using self-closing tags [Adam Spiers]
|
1639
|
+
* Catch correct error when server boot times out [Jonas Nicklas]
|
1640
|
+
* Celerity driver now properly passes through options, making it configurable [Jonas Nicklas]
|
1641
|
+
* Better implementation of attributes in C[ue]lerity, should fix issues with attributes with strange names [Jonas Nicklas]
|
1642
|
+
* Session#find no longer swallows errors [Jonas Nicklas]
|
1643
|
+
* Fix problems with multiple file inputs [Philip Arndt]
|
1644
|
+
* Submit multipart forms as multipart under rack-test even if they contain no files [Ryan Kinderman]
|
1645
|
+
* Matchers like has_select? and has_checked_field? now work with dynamically changed values [John Firebaugh]
|
1646
|
+
* Preserve order of rack params [Joel Chippindale]
|
1647
|
+
* RackTest#reset! is more thorough [Joel Chippindale]
|
1648
|
+
|
1649
|
+
# Version 0.4.0
|
1650
|
+
|
1651
|
+
Release date: 2010-10-22
|
1652
|
+
|
1653
|
+
### Changed
|
1654
|
+
|
1655
|
+
* The Selector API was changed slightly, use Capybara.add_selector, see README
|
1656
|
+
|
1657
|
+
### Fixed
|
1658
|
+
|
1659
|
+
* Celerity driver is registered properly
|
1660
|
+
* has_selector? and has_no_selector? added to DSL
|
1661
|
+
* Multiple selects return correct values under C[cu]lerity
|
1662
|
+
* Naked query strings are handled correctly by rack-test
|
1663
|
+
|
1664
|
+
# Version 0.4.0.rc
|
1665
|
+
|
1666
|
+
Release date: 2010-10-12
|
1667
|
+
|
1668
|
+
### Changed
|
1669
|
+
|
1670
|
+
* within and find/locate now follow the XPath spec in that //foo finds all nodes in the document, instead of
|
1671
|
+
only for the context node. See this post for details: http://groups.google.com/group/ruby-capybara/browse_thread/thread/b129067979df21b3
|
1672
|
+
* within now executes within the first found instance of the selector, not in all of them
|
1673
|
+
* find now waits for AJAX requests and raises an exception when the element is not found (same as locate used to do)
|
1674
|
+
* The default selector is now CSS, not XPath
|
1675
|
+
|
1676
|
+
### Deprecated
|
1677
|
+
|
1678
|
+
* Session#click has been renamed click_link_or_button and the old click has been deprecated
|
1679
|
+
* Node#node has been renamed native
|
1680
|
+
* Node#locate is deprecated in favor of Node#find, which now behaves identically
|
1681
|
+
* Session#drag is deprecated, please use Node#drag_to(other_node) instead
|
1682
|
+
|
1683
|
+
### Added
|
1684
|
+
|
1685
|
+
* Pretty much everything is properly documented now
|
1686
|
+
* It's now possible to call all session methods on nodes, like `find('#foo').fill_in(...)`
|
1687
|
+
* Custom selectors can be added with Capybara::Selector.add
|
1688
|
+
* The :id selector is added by default, use it lile `find(:id, 'foo')` or `find(:foo)`
|
1689
|
+
* Added Node#has_selector? so any kind of selector can be queried.
|
1690
|
+
* Added Capybara.configure for less wordy configuration
|
1691
|
+
* Added within_window to switch between different windows (currently Selenium only)
|
1692
|
+
* Capybara.server_port to provide a fixed port if wanted (defaults to automatic selection)
|
1693
|
+
|
1694
|
+
### Fixed
|
1695
|
+
|
1696
|
+
* CSS selectors with multiple selectors, such as "h1, h2" now work correctly
|
1697
|
+
* Port is automatically assigned instead of guessing
|
1698
|
+
* Strip encodings in rack-test, no more warnings!
|
1699
|
+
* RackTest no longer submits disabled fields
|
1700
|
+
* Servers no longer output annoying debug information when started
|
1701
|
+
* TCP port selection is left to Ruby to decide, no more port guessing
|
1702
|
+
* Select boxes now return option value instead of text if present
|
1703
|
+
* The default has been changed from localhost to 127.0.0.1, should fix some obscure selenium bugs
|
1704
|
+
* RackTest now supports complex field names, such as foo[bar][][baz]
|
1705
|
+
|
1706
|
+
# Version 0.3.9
|
1707
|
+
|
1708
|
+
Release date: 2010-07-03
|
1709
|
+
|
1710
|
+
### Added
|
1711
|
+
|
1712
|
+
* status_code which returns the HTTP status code of the last response (no Selenium!)
|
1713
|
+
* Capybara.save_and_open_page to store tempfiles
|
1714
|
+
* RackTest and Culerity drivers now clean up after themselves properly
|
1715
|
+
|
1716
|
+
### Fixed
|
1717
|
+
|
1718
|
+
* When no rack app is set and the app is called, a more descriptive error is raised
|
1719
|
+
* select now works with optgroups
|
1720
|
+
* Don't submit image buttons unless they were clicked under rack-test
|
1721
|
+
* Support custom field types under Selenium
|
1722
|
+
* Support input fields without a type, treat them as though they were text fields
|
1723
|
+
* Redirect now throws an error after 5 redirects, as per RFC
|
1724
|
+
* Selenium now properly raises an error when Node#trigger is called
|
1725
|
+
* Node#value now returns the correct value for textareas under rack-test
|
1726
|
+
|
1727
|
+
# Version 0.3.8
|
1728
|
+
|
1729
|
+
Release date: 2010-05-12
|
1730
|
+
|
1731
|
+
### Added
|
1732
|
+
|
1733
|
+
* Within_frame method to execute a block of code within a particular iframe (Selenium only!)
|
1734
|
+
|
1735
|
+
### Fixed
|
1736
|
+
|
1737
|
+
* Single quotes are properly escaped with `select` under rack-test and Selenium.
|
1738
|
+
* The :text option for searches now escapes regexp special characters when a string is given.
|
1739
|
+
* Selenium now correctly checks already checked checkboxes (same with uncheck)
|
1740
|
+
* Timing issue which caused Selenium to hang under certain circumstances.
|
1741
|
+
* Selenium now resolves attributes even if they are given as a Symbol
|
1742
|
+
|
1743
|
+
# Version 0.3.7
|
1744
|
+
|
1745
|
+
Release date: 2010-04-09
|
1746
|
+
|
1747
|
+
This is a drop in compatible maintainance release. It's mostly
|
1748
|
+
important for driver authors.
|
1749
|
+
|
1750
|
+
### Added
|
1751
|
+
|
1752
|
+
* RackTest scans for data-method which rails3 uses to change the request method
|
1753
|
+
|
1754
|
+
### Fixed
|
1755
|
+
|
1756
|
+
* Don't hang when starting server on Windoze
|
1757
|
+
|
1758
|
+
### Changed
|
1759
|
+
|
1760
|
+
* The driver and session specs are now located inside lib! Driver authors can simply require them.
|
1761
|
+
|
1762
|
+
# Version 0.3.6
|
1763
|
+
|
1764
|
+
Release date: 2010-03-22
|
1765
|
+
|
1766
|
+
This is a maintainance release with minor bug fixes, should be
|
1767
|
+
drop in compatible.
|
1768
|
+
|
1769
|
+
### Added
|
1770
|
+
|
1771
|
+
* It's now possible to load in external drivers
|
1772
|
+
|
1773
|
+
### Fixed
|
1774
|
+
|
1775
|
+
* has_content? ignores whitespace
|
1776
|
+
* Trigger events when choosing radios and checking checkboxes under Selenium
|
1777
|
+
* Make Capybara.app totally optional when running without server
|
1778
|
+
* Changed fallback host so it matches the one set up by Rails' integration tests
|
1779
|
+
|
1780
|
+
# Version 0.3.5
|
1781
|
+
|
1782
|
+
Release date: 2010-02-26
|
1783
|
+
|
1784
|
+
This is a mostly backwards compatible release, it does break
|
1785
|
+
the API in some minor places, which should hopefully not affect
|
1786
|
+
too many users, please read the release notes carefully!
|
1787
|
+
|
1788
|
+
### Breaking
|
1789
|
+
|
1790
|
+
* Relative searching in a node (e.g. find('//p').all('//a')) will now follow XPath standard
|
1791
|
+
this means that if you want to find descendant nodes only, you'll need to prefix a dot!
|
1792
|
+
* `visit` now accepts fully qualified URLs for drivers that support it.
|
1793
|
+
* Capybara will always try to run a rack server, unless you set Capybara.run_sever = false
|
1794
|
+
|
1795
|
+
### Changed
|
1796
|
+
|
1797
|
+
* thin is preferred over mongrel and webrick, since it is Ruby 1.9 compatible
|
1798
|
+
* click_button and click will find <input type="button">, clicking them does nothing in RackTest
|
1799
|
+
|
1800
|
+
### Added
|
1801
|
+
|
1802
|
+
* Much improved error messages in a multitude of places
|
1803
|
+
* More semantic page querying with has_link?, has_button?, etc...
|
1804
|
+
* Option to ignore hidden elements when querying and interacting with the page
|
1805
|
+
* Support for multiple selects
|
1806
|
+
|
1807
|
+
### Fixed
|
1808
|
+
|
1809
|
+
* find_by_id is no longer broken
|
1810
|
+
* clicking links where the image's alt attribute contains the text is now possible
|
1811
|
+
* within_fieldset and within_table work when the default selector is CSS
|
1812
|
+
* boolean attributes work the same across drivers (return true/false)
|
1813
|
+
|