capybara 2.7.0 → 3.35.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (318) hide show
  1. checksums.yaml +5 -5
  2. data/.yardopts +1 -0
  3. data/History.md +1147 -11
  4. data/License.txt +1 -1
  5. data/README.md +252 -131
  6. data/lib/capybara/config.rb +92 -0
  7. data/lib/capybara/cucumber.rb +3 -3
  8. data/lib/capybara/driver/base.rb +52 -21
  9. data/lib/capybara/driver/node.rb +48 -14
  10. data/lib/capybara/dsl.rb +16 -9
  11. data/lib/capybara/helpers.rb +72 -81
  12. data/lib/capybara/minitest/spec.rb +267 -0
  13. data/lib/capybara/minitest.rb +385 -0
  14. data/lib/capybara/node/actions.rb +337 -89
  15. data/lib/capybara/node/base.rb +50 -32
  16. data/lib/capybara/node/document.rb +19 -3
  17. data/lib/capybara/node/document_matchers.rb +22 -24
  18. data/lib/capybara/node/element.rb +388 -125
  19. data/lib/capybara/node/finders.rb +231 -121
  20. data/lib/capybara/node/matchers.rb +503 -217
  21. data/lib/capybara/node/simple.rb +64 -27
  22. data/lib/capybara/queries/ancestor_query.rb +27 -0
  23. data/lib/capybara/queries/base_query.rb +87 -11
  24. data/lib/capybara/queries/current_path_query.rb +24 -24
  25. data/lib/capybara/queries/match_query.rb +15 -10
  26. data/lib/capybara/queries/selector_query.rb +675 -81
  27. data/lib/capybara/queries/sibling_query.rb +26 -0
  28. data/lib/capybara/queries/style_query.rb +45 -0
  29. data/lib/capybara/queries/text_query.rb +88 -20
  30. data/lib/capybara/queries/title_query.rb +9 -11
  31. data/lib/capybara/rack_test/browser.rb +63 -39
  32. data/lib/capybara/rack_test/css_handlers.rb +6 -4
  33. data/lib/capybara/rack_test/driver.rb +26 -16
  34. data/lib/capybara/rack_test/errors.rb +6 -0
  35. data/lib/capybara/rack_test/form.rb +73 -58
  36. data/lib/capybara/rack_test/node.rb +187 -67
  37. data/lib/capybara/rails.rb +4 -8
  38. data/lib/capybara/registration_container.rb +44 -0
  39. data/lib/capybara/registrations/drivers.rb +42 -0
  40. data/lib/capybara/registrations/patches/puma_ssl.rb +29 -0
  41. data/lib/capybara/registrations/servers.rb +45 -0
  42. data/lib/capybara/result.rb +142 -14
  43. data/lib/capybara/rspec/features.rb +17 -42
  44. data/lib/capybara/rspec/matcher_proxies.rb +82 -0
  45. data/lib/capybara/rspec/matchers/base.rb +111 -0
  46. data/lib/capybara/rspec/matchers/become_closed.rb +33 -0
  47. data/lib/capybara/rspec/matchers/compound.rb +88 -0
  48. data/lib/capybara/rspec/matchers/count_sugar.rb +37 -0
  49. data/lib/capybara/rspec/matchers/have_ancestor.rb +28 -0
  50. data/lib/capybara/rspec/matchers/have_current_path.rb +29 -0
  51. data/lib/capybara/rspec/matchers/have_selector.rb +77 -0
  52. data/lib/capybara/rspec/matchers/have_sibling.rb +27 -0
  53. data/lib/capybara/rspec/matchers/have_text.rb +33 -0
  54. data/lib/capybara/rspec/matchers/have_title.rb +29 -0
  55. data/lib/capybara/rspec/matchers/match_selector.rb +27 -0
  56. data/lib/capybara/rspec/matchers/match_style.rb +43 -0
  57. data/lib/capybara/rspec/matchers/spatial_sugar.rb +39 -0
  58. data/lib/capybara/rspec/matchers.rb +143 -244
  59. data/lib/capybara/rspec.rb +10 -12
  60. data/lib/capybara/selector/builders/css_builder.rb +84 -0
  61. data/lib/capybara/selector/builders/xpath_builder.rb +71 -0
  62. data/lib/capybara/selector/css.rb +102 -0
  63. data/lib/capybara/selector/definition/button.rb +63 -0
  64. data/lib/capybara/selector/definition/checkbox.rb +26 -0
  65. data/lib/capybara/selector/definition/css.rb +10 -0
  66. data/lib/capybara/selector/definition/datalist_input.rb +35 -0
  67. data/lib/capybara/selector/definition/datalist_option.rb +25 -0
  68. data/lib/capybara/selector/definition/element.rb +28 -0
  69. data/lib/capybara/selector/definition/field.rb +40 -0
  70. data/lib/capybara/selector/definition/fieldset.rb +14 -0
  71. data/lib/capybara/selector/definition/file_field.rb +13 -0
  72. data/lib/capybara/selector/definition/fillable_field.rb +33 -0
  73. data/lib/capybara/selector/definition/frame.rb +17 -0
  74. data/lib/capybara/selector/definition/id.rb +6 -0
  75. data/lib/capybara/selector/definition/label.rb +62 -0
  76. data/lib/capybara/selector/definition/link.rb +54 -0
  77. data/lib/capybara/selector/definition/link_or_button.rb +16 -0
  78. data/lib/capybara/selector/definition/option.rb +27 -0
  79. data/lib/capybara/selector/definition/radio_button.rb +27 -0
  80. data/lib/capybara/selector/definition/select.rb +81 -0
  81. data/lib/capybara/selector/definition/table.rb +109 -0
  82. data/lib/capybara/selector/definition/table_row.rb +21 -0
  83. data/lib/capybara/selector/definition/xpath.rb +5 -0
  84. data/lib/capybara/selector/definition.rb +278 -0
  85. data/lib/capybara/selector/filter.rb +3 -46
  86. data/lib/capybara/selector/filter_set.rb +124 -0
  87. data/lib/capybara/selector/filters/base.rb +77 -0
  88. data/lib/capybara/selector/filters/expression_filter.rb +22 -0
  89. data/lib/capybara/selector/filters/locator_filter.rb +29 -0
  90. data/lib/capybara/selector/filters/node_filter.rb +31 -0
  91. data/lib/capybara/selector/regexp_disassembler.rb +214 -0
  92. data/lib/capybara/selector/selector.rb +155 -0
  93. data/lib/capybara/selector/xpath_extensions.rb +17 -0
  94. data/lib/capybara/selector.rb +232 -369
  95. data/lib/capybara/selenium/atoms/getAttribute.min.js +1 -0
  96. data/lib/capybara/selenium/atoms/isDisplayed.min.js +1 -0
  97. data/lib/capybara/selenium/atoms/src/getAttribute.js +161 -0
  98. data/lib/capybara/selenium/atoms/src/isDisplayed.js +454 -0
  99. data/lib/capybara/selenium/driver.rb +380 -142
  100. data/lib/capybara/selenium/driver_specializations/chrome_driver.rb +117 -0
  101. data/lib/capybara/selenium/driver_specializations/edge_driver.rb +124 -0
  102. data/lib/capybara/selenium/driver_specializations/firefox_driver.rb +89 -0
  103. data/lib/capybara/selenium/driver_specializations/internet_explorer_driver.rb +26 -0
  104. data/lib/capybara/selenium/driver_specializations/safari_driver.rb +24 -0
  105. data/lib/capybara/selenium/extensions/file_input_click_emulation.rb +34 -0
  106. data/lib/capybara/selenium/extensions/find.rb +110 -0
  107. data/lib/capybara/selenium/extensions/html5_drag.rb +228 -0
  108. data/lib/capybara/selenium/extensions/modifier_keys_stack.rb +28 -0
  109. data/lib/capybara/selenium/extensions/scroll.rb +76 -0
  110. data/lib/capybara/selenium/logger_suppressor.rb +40 -0
  111. data/lib/capybara/selenium/node.rb +528 -97
  112. data/lib/capybara/selenium/nodes/chrome_node.rb +137 -0
  113. data/lib/capybara/selenium/nodes/edge_node.rb +104 -0
  114. data/lib/capybara/selenium/nodes/firefox_node.rb +136 -0
  115. data/lib/capybara/selenium/nodes/ie_node.rb +22 -0
  116. data/lib/capybara/selenium/nodes/safari_node.rb +118 -0
  117. data/lib/capybara/selenium/patches/action_pauser.rb +26 -0
  118. data/lib/capybara/selenium/patches/atoms.rb +18 -0
  119. data/lib/capybara/selenium/patches/is_displayed.rb +16 -0
  120. data/lib/capybara/selenium/patches/logs.rb +45 -0
  121. data/lib/capybara/selenium/patches/pause_duration_fix.rb +9 -0
  122. data/lib/capybara/selenium/patches/persistent_client.rb +20 -0
  123. data/lib/capybara/server/animation_disabler.rb +63 -0
  124. data/lib/capybara/server/checker.rb +44 -0
  125. data/lib/capybara/server/middleware.rb +71 -0
  126. data/lib/capybara/server.rb +74 -71
  127. data/lib/capybara/session/config.rb +126 -0
  128. data/lib/capybara/session/matchers.rb +44 -27
  129. data/lib/capybara/session.rb +500 -297
  130. data/lib/capybara/spec/fixtures/no_extension +1 -0
  131. data/lib/capybara/spec/public/jquery.js +5 -5
  132. data/lib/capybara/spec/public/offset.js +6 -0
  133. data/lib/capybara/spec/public/test.js +168 -14
  134. data/lib/capybara/spec/session/accept_alert_spec.rb +37 -14
  135. data/lib/capybara/spec/session/accept_confirm_spec.rb +7 -6
  136. data/lib/capybara/spec/session/accept_prompt_spec.rb +38 -10
  137. data/lib/capybara/spec/session/all_spec.rb +179 -59
  138. data/lib/capybara/spec/session/ancestor_spec.rb +88 -0
  139. data/lib/capybara/spec/session/assert_all_of_selectors_spec.rb +140 -0
  140. data/lib/capybara/spec/session/assert_current_path_spec.rb +75 -0
  141. data/lib/capybara/spec/session/assert_selector_spec.rb +143 -0
  142. data/lib/capybara/spec/session/assert_style_spec.rb +26 -0
  143. data/lib/capybara/spec/session/assert_text_spec.rb +258 -0
  144. data/lib/capybara/spec/session/assert_title_spec.rb +93 -0
  145. data/lib/capybara/spec/session/attach_file_spec.rb +154 -48
  146. data/lib/capybara/spec/session/body_spec.rb +12 -13
  147. data/lib/capybara/spec/session/check_spec.rb +168 -41
  148. data/lib/capybara/spec/session/choose_spec.rb +75 -23
  149. data/lib/capybara/spec/session/click_button_spec.rb +243 -175
  150. data/lib/capybara/spec/session/click_link_or_button_spec.rb +57 -32
  151. data/lib/capybara/spec/session/click_link_spec.rb +100 -53
  152. data/lib/capybara/spec/session/current_scope_spec.rb +11 -10
  153. data/lib/capybara/spec/session/current_url_spec.rb +61 -35
  154. data/lib/capybara/spec/session/dismiss_confirm_spec.rb +7 -7
  155. data/lib/capybara/spec/session/dismiss_prompt_spec.rb +5 -4
  156. data/lib/capybara/spec/session/element/{assert_match_selector.rb → assert_match_selector_spec.rb} +13 -6
  157. data/lib/capybara/spec/session/element/match_css_spec.rb +21 -7
  158. data/lib/capybara/spec/session/element/match_xpath_spec.rb +9 -7
  159. data/lib/capybara/spec/session/element/matches_selector_spec.rb +91 -34
  160. data/lib/capybara/spec/session/evaluate_async_script_spec.rb +23 -0
  161. data/lib/capybara/spec/session/evaluate_script_spec.rb +45 -3
  162. data/lib/capybara/spec/session/execute_script_spec.rb +24 -4
  163. data/lib/capybara/spec/session/fill_in_spec.rb +166 -64
  164. data/lib/capybara/spec/session/find_button_spec.rb +37 -18
  165. data/lib/capybara/spec/session/find_by_id_spec.rb +10 -9
  166. data/lib/capybara/spec/session/find_field_spec.rb +57 -34
  167. data/lib/capybara/spec/session/find_link_spec.rb +47 -10
  168. data/lib/capybara/spec/session/find_spec.rb +290 -144
  169. data/lib/capybara/spec/session/first_spec.rb +91 -48
  170. data/lib/capybara/spec/session/frame/frame_title_spec.rb +23 -0
  171. data/lib/capybara/spec/session/frame/frame_url_spec.rb +23 -0
  172. data/lib/capybara/spec/session/frame/switch_to_frame_spec.rb +116 -0
  173. data/lib/capybara/spec/session/frame/within_frame_spec.rb +112 -0
  174. data/lib/capybara/spec/session/go_back_spec.rb +3 -2
  175. data/lib/capybara/spec/session/go_forward_spec.rb +3 -2
  176. data/lib/capybara/spec/session/has_all_selectors_spec.rb +69 -0
  177. data/lib/capybara/spec/session/has_ancestor_spec.rb +46 -0
  178. data/lib/capybara/spec/session/has_any_selectors_spec.rb +25 -0
  179. data/lib/capybara/spec/session/has_button_spec.rb +76 -19
  180. data/lib/capybara/spec/session/has_css_spec.rb +277 -131
  181. data/lib/capybara/spec/session/has_current_path_spec.rb +98 -26
  182. data/lib/capybara/spec/session/has_field_spec.rb +177 -107
  183. data/lib/capybara/spec/session/has_link_spec.rb +13 -12
  184. data/lib/capybara/spec/session/has_none_selectors_spec.rb +78 -0
  185. data/lib/capybara/spec/session/has_select_spec.rb +191 -95
  186. data/lib/capybara/spec/session/has_selector_spec.rb +128 -64
  187. data/lib/capybara/spec/session/has_sibling_spec.rb +50 -0
  188. data/lib/capybara/spec/session/has_table_spec.rb +172 -5
  189. data/lib/capybara/spec/session/has_text_spec.rb +126 -60
  190. data/lib/capybara/spec/session/has_title_spec.rb +35 -12
  191. data/lib/capybara/spec/session/has_xpath_spec.rb +74 -53
  192. data/lib/capybara/spec/session/{headers.rb → headers_spec.rb} +3 -2
  193. data/lib/capybara/spec/session/html_spec.rb +14 -6
  194. data/lib/capybara/spec/session/matches_style_spec.rb +35 -0
  195. data/lib/capybara/spec/session/node_spec.rb +1028 -131
  196. data/lib/capybara/spec/session/node_wrapper_spec.rb +39 -0
  197. data/lib/capybara/spec/session/refresh_spec.rb +34 -0
  198. data/lib/capybara/spec/session/reset_session_spec.rb +75 -34
  199. data/lib/capybara/spec/session/{response_code.rb → response_code_spec.rb} +2 -1
  200. data/lib/capybara/spec/session/save_and_open_page_spec.rb +3 -2
  201. data/lib/capybara/spec/session/save_and_open_screenshot_spec.rb +11 -15
  202. data/lib/capybara/spec/session/save_page_spec.rb +42 -55
  203. data/lib/capybara/spec/session/save_screenshot_spec.rb +16 -14
  204. data/lib/capybara/spec/session/screenshot_spec.rb +2 -2
  205. data/lib/capybara/spec/session/scroll_spec.rb +117 -0
  206. data/lib/capybara/spec/session/select_spec.rb +112 -85
  207. data/lib/capybara/spec/session/selectors_spec.rb +71 -8
  208. data/lib/capybara/spec/session/sibling_spec.rb +52 -0
  209. data/lib/capybara/spec/session/text_spec.rb +38 -23
  210. data/lib/capybara/spec/session/title_spec.rb +17 -5
  211. data/lib/capybara/spec/session/uncheck_spec.rb +71 -12
  212. data/lib/capybara/spec/session/unselect_spec.rb +44 -43
  213. data/lib/capybara/spec/session/visit_spec.rb +99 -32
  214. data/lib/capybara/spec/session/window/become_closed_spec.rb +33 -29
  215. data/lib/capybara/spec/session/window/current_window_spec.rb +5 -3
  216. data/lib/capybara/spec/session/window/open_new_window_spec.rb +5 -3
  217. data/lib/capybara/spec/session/window/switch_to_window_spec.rb +39 -30
  218. data/lib/capybara/spec/session/window/window_opened_by_spec.rb +17 -10
  219. data/lib/capybara/spec/session/window/window_spec.rb +121 -73
  220. data/lib/capybara/spec/session/window/windows_spec.rb +12 -10
  221. data/lib/capybara/spec/session/window/within_window_spec.rb +52 -82
  222. data/lib/capybara/spec/session/within_spec.rb +76 -43
  223. data/lib/capybara/spec/spec_helper.rb +67 -33
  224. data/lib/capybara/spec/test_app.rb +85 -36
  225. data/lib/capybara/spec/views/animated.erb +49 -0
  226. data/lib/capybara/spec/views/buttons.erb +1 -1
  227. data/lib/capybara/spec/views/fieldsets.erb +1 -1
  228. data/lib/capybara/spec/views/form.erb +227 -20
  229. data/lib/capybara/spec/views/frame_child.erb +10 -2
  230. data/lib/capybara/spec/views/frame_one.erb +2 -1
  231. data/lib/capybara/spec/views/frame_parent.erb +2 -2
  232. data/lib/capybara/spec/views/frame_two.erb +1 -1
  233. data/lib/capybara/spec/views/header_links.erb +1 -1
  234. data/lib/capybara/spec/views/host_links.erb +1 -1
  235. data/lib/capybara/spec/views/initial_alert.erb +10 -0
  236. data/lib/capybara/spec/views/obscured.erb +47 -0
  237. data/lib/capybara/spec/views/offset.erb +32 -0
  238. data/lib/capybara/spec/views/path.erb +1 -1
  239. data/lib/capybara/spec/views/popup_one.erb +1 -1
  240. data/lib/capybara/spec/views/popup_two.erb +1 -1
  241. data/lib/capybara/spec/views/postback.erb +1 -1
  242. data/lib/capybara/spec/views/react.erb +45 -0
  243. data/lib/capybara/spec/views/scroll.erb +20 -0
  244. data/lib/capybara/spec/views/spatial.erb +31 -0
  245. data/lib/capybara/spec/views/tables.erb +69 -2
  246. data/lib/capybara/spec/views/with_animation.erb +82 -0
  247. data/lib/capybara/spec/views/with_base_tag.erb +1 -1
  248. data/lib/capybara/spec/views/with_count.erb +1 -1
  249. data/lib/capybara/spec/views/with_dragula.erb +24 -0
  250. data/lib/capybara/spec/views/with_fixed_header_footer.erb +17 -0
  251. data/lib/capybara/spec/views/with_hover.erb +7 -1
  252. data/lib/capybara/spec/views/with_hover1.erb +10 -0
  253. data/lib/capybara/spec/views/with_html.erb +100 -10
  254. data/lib/capybara/spec/views/with_html5_svg.erb +20 -0
  255. data/lib/capybara/spec/views/with_html_entities.erb +1 -1
  256. data/lib/capybara/spec/views/with_jquery_animation.erb +24 -0
  257. data/lib/capybara/spec/views/with_js.erb +49 -3
  258. data/lib/capybara/spec/views/with_jstree.erb +26 -0
  259. data/lib/capybara/spec/views/with_namespace.erb +20 -0
  260. data/lib/capybara/spec/views/with_scope.erb +1 -1
  261. data/lib/capybara/spec/views/with_scope_other.erb +6 -0
  262. data/lib/capybara/spec/views/with_simple_html.erb +1 -1
  263. data/lib/capybara/spec/views/with_sortable_js.erb +21 -0
  264. data/lib/capybara/spec/views/with_title.erb +1 -1
  265. data/lib/capybara/spec/views/with_unload_alert.erb +3 -1
  266. data/lib/capybara/spec/views/with_windows.erb +7 -1
  267. data/lib/capybara/spec/views/within_frames.erb +6 -3
  268. data/lib/capybara/version.rb +2 -1
  269. data/lib/capybara/window.rb +39 -21
  270. data/lib/capybara.rb +208 -186
  271. data/spec/basic_node_spec.rb +52 -39
  272. data/spec/capybara_spec.rb +72 -50
  273. data/spec/css_builder_spec.rb +101 -0
  274. data/spec/css_splitter_spec.rb +38 -0
  275. data/spec/dsl_spec.rb +81 -61
  276. data/spec/filter_set_spec.rb +46 -0
  277. data/spec/fixtures/capybara.csv +1 -0
  278. data/spec/fixtures/certificate.pem +25 -0
  279. data/spec/fixtures/key.pem +27 -0
  280. data/spec/fixtures/selenium_driver_rspec_failure.rb +7 -3
  281. data/spec/fixtures/selenium_driver_rspec_success.rb +7 -3
  282. data/spec/minitest_spec.rb +164 -0
  283. data/spec/minitest_spec_spec.rb +162 -0
  284. data/spec/per_session_config_spec.rb +68 -0
  285. data/spec/rack_test_spec.rb +189 -96
  286. data/spec/regexp_dissassembler_spec.rb +250 -0
  287. data/spec/result_spec.rb +143 -13
  288. data/spec/rspec/features_spec.rb +38 -32
  289. data/spec/rspec/scenarios_spec.rb +9 -7
  290. data/spec/rspec/shared_spec_matchers.rb +959 -0
  291. data/spec/rspec/views_spec.rb +9 -3
  292. data/spec/rspec_matchers_spec.rb +62 -0
  293. data/spec/rspec_spec.rb +127 -30
  294. data/spec/sauce_spec_chrome.rb +43 -0
  295. data/spec/selector_spec.rb +458 -37
  296. data/spec/selenium_spec_chrome.rb +196 -9
  297. data/spec/selenium_spec_chrome_remote.rb +100 -0
  298. data/spec/selenium_spec_edge.rb +47 -0
  299. data/spec/selenium_spec_firefox.rb +210 -0
  300. data/spec/selenium_spec_firefox_remote.rb +80 -0
  301. data/spec/selenium_spec_ie.rb +150 -0
  302. data/spec/selenium_spec_safari.rb +148 -0
  303. data/spec/server_spec.rb +200 -101
  304. data/spec/session_spec.rb +91 -0
  305. data/spec/shared_selenium_node.rb +83 -0
  306. data/spec/shared_selenium_session.rb +558 -0
  307. data/spec/spec_helper.rb +94 -2
  308. data/spec/xpath_builder_spec.rb +93 -0
  309. metadata +420 -60
  310. data/lib/capybara/query.rb +0 -7
  311. data/lib/capybara/spec/session/assert_current_path.rb +0 -60
  312. data/lib/capybara/spec/session/assert_selector.rb +0 -148
  313. data/lib/capybara/spec/session/assert_text.rb +0 -196
  314. data/lib/capybara/spec/session/assert_title.rb +0 -70
  315. data/lib/capybara/spec/session/source_spec.rb +0 -0
  316. data/lib/capybara/spec/session/within_frame_spec.rb +0 -53
  317. data/spec/rspec/matchers_spec.rb +0 -827
  318. data/spec/selenium_spec.rb +0 -151
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 13e267dd4eab833671b7653e9cec855306653102
4
- data.tar.gz: 80707daeb161eac1ac1cabff4edef7c06823b707
2
+ SHA256:
3
+ metadata.gz: 516861530f59d3d9713daba7379838146575b920f787ac2c3f5c4bbffc6bf44d
4
+ data.tar.gz: 85b3fb81bf05e43122c2eef320a7a2dbd500033723ebbc04ebc414b0a42d0881
5
5
  SHA512:
6
- metadata.gz: 03a372cfdbdd251f39577df0b83bd8286af62cc4d02bdedd49d91594fb3c2de88babacf628366f49c3a8d10470203bccfe371e461f3789f8c7dae0be94d6eda2
7
- data.tar.gz: 77db21ebef969917a1a8836d5d95e6a725f1fe6dc235fe0e795eeca25fd46b209f77487ddb5e38a523c80f7772ea6d17627ddabda78081e335e002847f8da53e
6
+ metadata.gz: 7f745dac92b73afa56f43a2a509052c7fc5d1efa458863b0b3f05507c664847d6f67720a2c2a680e21126888e63a6eaf6a0e9be7d1a4df9d6aaa9ec61d832e29
7
+ data.tar.gz: 53532156dd31631879a0a8fda93126f259a5cd856a6cec82e6283f9f96e1cc2d98b788e4414ffee5756024d14819450d358529aa90d4c948618e82b878342ebd
data/.yardopts ADDED
@@ -0,0 +1 @@
1
+ --markup markdown
data/History.md CHANGED
@@ -1,9 +1,1126 @@
1
+ # Version 3.35.3
2
+ Release date: 2021-01-29
3
+
4
+ ### Fixed
5
+ * Just a release to have the correct dates in the History.md in released gem
6
+
7
+ # Version 3.35.2
8
+ Release date: 2021-01-29
9
+
10
+ ### Fixed
11
+
12
+ * Selenium deprecation suppressor with Selenium 3.x
13
+
14
+ # Version 3.35.1
15
+ Release date: 2021-01-26
16
+
17
+ ### Fixed
18
+
19
+ * Default chrome driver registrations use chrome - Issue #2442 [Yuriy Alekseyev]
20
+ * 'Capybara.test_id' usage with the :button selector - Issue #2443
21
+
22
+ # Version 3.35.0
23
+ Release date: 2021-01-25
24
+
25
+ ### Added
26
+
27
+ * Support Regexp matching for individual class names in :class filter passed an Array
28
+ * Animation disabler now supports JQuery animation disabling when JQuery loaded from body [Chien-Wei Huang]
29
+
30
+ ### Fixed
31
+
32
+ * :button selector type use with `enable_aria_role` [Sean Doyle]
33
+ * <label> elements don't associate with aria-role buttons
34
+ * Ignore Selenium::WebDriver::Error::InvalidSessionIdError when quitting driver [Robin Daugherty]
35
+ * Firefox: Don't click input when sending keys if already focused
36
+ * Miscellaneous issues with selenium-webdriver 4.0.0.alphas
37
+ * Nil return error in node details optimizations
38
+ * Animation disabler now inserts XHTML compliant content [Dale Morgan]
39
+
40
+ # Version 3.34.0
41
+ Release date: 2020-11-26
42
+
43
+ ### Added
44
+
45
+ * Ability to fill in with emoji when using Chrome with selenium driver (Firefox already worked)
46
+ * Current path assertions/expectations accept optional filter block
47
+ * Animation disabler now specifies `scroll-behavior: auto;` [Nathan Broadbent]
48
+ * :button selector can now find elements by label text [Sean Doyle]
49
+ * `Session#send_keys` to send keys to the current element with focus in drivers that support the
50
+ concept of a current element [Sean Doyle]
51
+
52
+ ### Changed
53
+
54
+ * Text query validates the type parameter to prevent undefined behavior
55
+
56
+ ### Fixed
57
+
58
+ * racktest driver better handles fragments and redirection to urls that include fragments
59
+ * Don't error when attempting to get XPath location of a shadow element
60
+ * Missing `readonly?` added to Node::Simple
61
+ * Selenium version detection when loaded via alternate method [Joel Hawksley]
62
+ * Connection count issue if REQUEST_URI value changed by app [Blake Williams]
63
+ * Maintain URI fragment when redirecting in rack-test driver
64
+ * Text query error message [Wojciech Wnętrzak]
65
+ * Checking a checkbox/radio button with `allow_label_click` now works if there are multiple labels (Issue #2421)
66
+ * `drop` with `Pathname` (Issue #2424)[Máximo Mussini]
67
+
68
+ # Version 3.33.0
69
+ Release date: 2020-06-21
70
+
71
+ ### Added
72
+
73
+ * Block passed to `within_session` now receives the new and old session
74
+ * Support for aria-role button when enabled [Seiei Miyagi]
75
+ * Support for aria-role link when enabled
76
+ * Support for `validation_message` filter with :field and :fillable_field selectors
77
+ * Deprecation warnings show source location [Koichi ITO]
78
+
79
+ ### Changed
80
+
81
+ * Ruby 2.5.0+ is now required
82
+ * Deprecated direct manipulation of the driver and server registries
83
+
84
+ ### Fixed
85
+
86
+ * Ruby 2.7 warning in minitest `assert_text` [Eileen M. Uchitelle]
87
+
88
+
89
+ # Version 3.32.2
90
+ Release date: 2020-05-16
91
+
92
+ ### Fixed
93
+
94
+ * Don't use lazy enumerator with JRuby due to leaking threads
95
+ * Ruby 2.7 deprecation warning when registering Webrick [Jon Zeppieri]
96
+ * `have_text` description [Juan Pablo Rinaldi]
97
+
98
+ # Version 3.32.1
99
+ Release date: 2020-04-05
100
+
101
+ ### Fixed
102
+
103
+ * Rapid set now respects field maxlength (Issue #2332)
104
+ * Only patch pause into legacy actions in Selenium < 4 (Issue #2334)
105
+
106
+ # Version 3.32.0
107
+ Release date: 2020-03-29
108
+
109
+ ### Added
110
+
111
+ * Support `delay` setting on click with Selenium
112
+ * Implement rapid set for values longer than 30 characters in text fields with Selenium
113
+
114
+ ### Fixed
115
+
116
+ * Result#[] and negative max on ranges (Issue #2302/2303) [Jeremy Evans]
117
+ * RackTest form submission rewrites query string when using GET method
118
+ * Ruby 2.7 deprecation warnings in RSpec matcher proxies
119
+
120
+ # Version 3.31.0
121
+ Release date: 2020-01-26
122
+
123
+ ### Added
124
+
125
+ * Support setting range inputs with the selenium driver [Andrew White]
126
+ * Support setting range inputs with the rack driver
127
+ * Support drop modifier keys in drag & drop [Elliot Crosby-McCullough]
128
+ * `enabled_options` and `disabled options` filters for select selector
129
+ * Support beginless ranges
130
+ * Optionally allow `all` results to be reloaded when stable - Beta feature - may be removed in
131
+ future version if problems occur
132
+
133
+ ### Fixed
134
+
135
+ * Fix Ruby 2.7 deprecation notices around keyword arguments. I have tried to do this without
136
+ any breaking changes, but due to the nature of the 2.7 changes and some selector types accepting
137
+ Hashes as locators there are a lot of edge cases. If you find any broken cases please report
138
+ them and I'll see if they're fixable.
139
+ * Clicking on details/summary element behavior in rack_test driver_
140
+
141
+ # Version 3.30.0
142
+ Release date: 2019-12-24
143
+
144
+ ### Added
145
+
146
+ * Display pending requests when they don't complete in time [Juan Carlos Medina]
147
+ * :order option in selector queries - set to :reverse to for reverse document order results
148
+ * Support regexp for :name and :placeholder options in selectors that import filters from
149
+ _field filter set
150
+
151
+ ### Fixed
152
+
153
+ * Issue around automatic port assignment - Issue #2245
154
+ * Label selector when label has no id - Issue #2260
155
+ * Preserve clientX/clientY in Selenium HTML5 drag emulation [Nicolò G.]
156
+ * table selector using :with_cols option if last specified column matched but others didn't - Issue #2287
157
+ * Some tests updated for Ruby 2.7 behavior change around keyword args
158
+
159
+ # Version 3.29.0
160
+ Release date: 2019-09-02
161
+
162
+ ### Added
163
+
164
+ * Allow clicking on file input when using the block version of `attach_file` with Chrome and Firefox
165
+ * Spatial filters (`left_of`, `right_of`, `above`, `below`, `near`)
166
+ * rack_test driver now supports clicking on details elements to open/close them
167
+
168
+ ### Fixed
169
+
170
+ * rack_test driver correctly determines visibility for open details elements descendants
171
+
172
+ ### Changed
173
+
174
+ * Results will now be lazily evaluated when using JRuby >= 9.2.8.0
175
+
176
+
177
+ # Version 3.28.0
178
+ Release date: 2019-08-03
179
+
180
+ ### Added
181
+
182
+ * Allow forcing HTML5 or legacy dragging via the `:html5` option to `drag_to` when using Selenium with Chrome or Firefox
183
+ * Autodetection of drag type interprets not seeing the mousedown event as legacy.
184
+ * HTML5 form validation `:valid` node filter added to `:field` and `:fillable_field` selectors
185
+ * When using Capybara registered :puma server - patches Puma 4.0.x to fix SSL connection behavior. Removes
186
+ default `queue_requests` setting - Issue #2227
187
+
188
+ # Version 3.27.0
189
+ Release date: 2019-07-28
190
+
191
+ ### Added
192
+
193
+ * Allow to use chromedriver/geckodriver native `is_element_displayed` endpoint via Selenium
194
+ driver `native_displayed` option for performance reasons. Disabled by default due to endpoints
195
+ currently not handling &lt;details> element descendants visibility correctly.
196
+
197
+ ### Fixed
198
+
199
+ * Ignore negative lookahead/lookbehind regex when performing initial XPath text matching
200
+ * Reloading of elements found via `ancestor` and `sibling`
201
+ * Only default puma settings to `queue_requests: false` when using SSL
202
+ * Visibility of descendants of &lt;details> elements is correctly determined when using rack_test
203
+ and the selenium driver with Capybara optimized atoms
204
+ * local/session storage clearance in Chrome when clearing only one of them - Issue #2233
205
+
206
+ # Version 3.26.0
207
+ Release date: 2019-07-15
208
+
209
+ ### Added
210
+
211
+ * `w3c_click_offset` configuration option applies to `right_click` and `double_click` as well as `click`
212
+ * Warning when passing `nil` to the text/content assertions/expectations
213
+ * `Session#server_url` returns the base url the AUT is being run at (when controlled by Capybara)
214
+ * `option` selector type accepts an integer as locator
215
+
216
+ ### Fixed
217
+
218
+ * Default puma server registration now specifies `queue_requests: false` - Issue #2227
219
+ * Workaround issue with FF 68 and hanging during reset if a system modal is visible
220
+ * Don't expand file path if it's already absolute - Issue #2228
221
+
222
+ # Version 3.25.0
223
+ Release date: 2019-06-27
224
+
225
+ ### Added
226
+
227
+ * Animation disabler also disables before and after pseudoelements - Issue #2221 [Daniel Heath]
228
+ * `w3c_click_offset` configuration option to determine whether click offsets are calculated from element
229
+ center or top left corner
230
+
231
+ ### Fixed
232
+
233
+ * Work around issue with chromedriver 76/77 in W3C mode losing mouse state during legacy drag. Only fixed if
234
+ both source and target are simultaneously inside the viewport - Issue #2223
235
+ * Negative ancestor expectations/predicates were incorrectly checking siblings rather than ancestors
236
+
237
+ # Version 3.24.0
238
+ Release date: 2019-06-13
239
+
240
+ ### Added
241
+
242
+ * Log access when using the Selenium driver with Chrome 75 in W3C mode has been reenabled.
243
+
244
+ ### Changed
245
+
246
+ * Selenium driver now selects all current content and then sends keys rather than clearing field by JS
247
+ and then sending keys when setting values to text inputs in order to more closely simulate user behavior
248
+
249
+ ### Fixed
250
+
251
+ * Relative paths passed to `attach_file` will be assumed to be relative to the current working directory when using the
252
+ Selenium driver
253
+
254
+ # Version 3.23.0
255
+ Release date: 2019-06-10
256
+
257
+ ### Added
258
+
259
+ * Improved error message when using Chrome in W3C mode and attempting to access logs
260
+ * Support driver specific options for Element#drag_to
261
+ * Support setting `<input type="color">` elements with the selenium driver
262
+
263
+ ### Fixed
264
+
265
+ * Tightened conditions when in expression text option matching will be used
266
+ * Improved Selenium drivers HTML5 drag and drop emulation compatibility with SortableJS library (and others)
267
+
268
+ # Version 3.22.0
269
+ Release date: 2019-05-29
270
+
271
+ ### Added
272
+
273
+ * `ancestor`/`sibling` assertions and matchers added
274
+ * Documentation Updates and Fixes - Many thanks again to Masafumi Koba! [Masafumi Koba]
275
+ * Added `:with` alias for `:option` filter on `:checkbox` and `:radio_button` selectors
276
+
277
+ ### Changed
278
+
279
+ * Selenium driver with Chrome >= 73 now resets cookies and local/session storage after navigating
280
+ to 'about:blank' when possible to minimize potential race condition
281
+
282
+ # Version 3.21.0
283
+ Release date: 2019-05-24
284
+
285
+ ### Added
286
+
287
+ * Element#drop - Chrome and Firefox, via the selenium driver, support dropping files/data on elements
288
+ * Default CSS used for `attach_file` `make_visible: true` now includes auto for
289
+ height and width to handle more ways of hiding the file input element
290
+ * Documentation Updates and Fixes - Many thanks to Masafumi Koba! [Masafumi Koba]
291
+
292
+ ### Changed
293
+
294
+ * Deprecate support for CSS locator being a Symbol
295
+
296
+ # Version 3.20.2
297
+ Release date: 2019-05-19
298
+
299
+ ### Fixed
300
+
301
+ * Move `uglifier` from runtime to development dependency [miyucy]
302
+
303
+ # Version 3.20.1
304
+ Release date: 2019-05-17
305
+
306
+ ### Fixed
307
+
308
+ * RackTest driver considers &lt;template> elements to be non-visible and ignores the contents
309
+
310
+ # Version 3.20.0
311
+ Release date: 2019-05-14
312
+
313
+ ### Added
314
+
315
+ * `Node#obscured?` to check viewport presence and element overlap
316
+ * `:obscured` system filter to check whether elements are obscured in finders, assertions, and expectations
317
+ * :label selector :for option can be a regexp
318
+ * Significantly smaller `isDisplayed`/`getAttribute` atoms for selenium driver. If these produce issues you can disable their use
319
+ by setting an environment variable named 'DISABLE_CAPYBARA_SELENIUM_OPTIMIZATIONS' (Please also report any issues).
320
+ * `href: false` option with `find_link`/`click_link`/:link selector ignores `href` presence/absence
321
+
322
+ ### Fixed
323
+
324
+ * Workaround Safari issue with send_keys not correctly using top level modifiers
325
+ * Workaround Safari not retrying click due to incorrect error type
326
+ * Fix Safari attach_file block mode when clicking elements associated to the file input
327
+ * Workaround Safari issue with repeated hover
328
+
329
+ # Version 3.19.1
330
+ Release date: 2019-05-11
331
+
332
+ ### Fixed
333
+
334
+ * Fix access to specializations when Selenium::Driver is subclassed [James Mead]
335
+
336
+ # Version 3.19.0
337
+ Release date: 2019-05-09
338
+
339
+ ### Added
340
+
341
+
342
+ * Syntactic sugar `#once`, `#twice`, `#thrice`, `#exactly`, `#at_least`, `#at_most`, and `#times`
343
+ added to `have_selector`, `have_css`, `have_xpath`, and `have_text` RSpec matchers
344
+ * Support for multiple expression types in Selector definitions
345
+ * Reduced wirecalls for common actions in Selenium driver
346
+
347
+ ### Fixed
348
+
349
+ * Workaround Chrome 75 appending files to multiple file inputs
350
+ * Suppressed retry when detecting http vs https server connection
351
+
352
+ # Version 3.18.0
353
+ Release date: 2019-04-22
354
+
355
+ ### Added
356
+
357
+ * XPath Selector query optimized to make use of Regexp :text option in initial element find
358
+
359
+ ### Fixed
360
+
361
+ * Workaround issue where Chrome/chromedriver 74 can return the wrong error type when a click is intercepted
362
+
363
+ # Version 3.17.0
364
+ Release date: 2019-04-18
365
+
366
+ ### Added
367
+
368
+ * Initial support for selenium-webdriver 4.0.0.alpha1
369
+ * :button selector will now also match on `name` attribute
370
+
371
+ ### Fixed
372
+
373
+ * Suppress warnings generated by using selenium-webdriver 3.141.5926
374
+ * Mask Appium issue with finder visibility optimizations (non-optimal)
375
+
376
+ # Version 3.16.2
377
+ Release date: 2019-04-10
378
+
379
+ ### Fixed
380
+
381
+ * Fix Session#quit resetting of memoized document
382
+
383
+ # Version 3.16.1
384
+ Release date: 2019-03-30
385
+
386
+ ### Fixed
387
+
388
+ * Fix potential 'uninitialized constant' error when using the :selenium_chrome driver [jeffclemens-ab]
389
+
390
+ # Version 3.16
391
+ Release date: 2019-03-28
392
+
393
+ ### Changed
394
+
395
+ * Ruby 2.4.0+ is now required
396
+ * Selenium driver now defaults to using a persistent http client connection
397
+
398
+ ### Added
399
+
400
+ * :wait option in predicates now accepts `true` to selectively override when `Capybara.predicates_wait == false`
401
+
402
+ # Version 3.15
403
+ Release date: 2019-03-19
404
+
405
+ ### Added
406
+
407
+ * `attach_file` now supports a block mode on JS capable drivers to more accurately test user behavior when file inputs are hidden (beta)
408
+ * :table selector now supports `with_rows`, 'rows', `with_cols`, and 'cols' filters
409
+
410
+ ### Fixed
411
+
412
+ * Fix link selector when `Capybara.test_id` is set - Issue #2166 [bingjyang]
413
+
414
+
415
+ # Version 3.14
416
+ Release date: 2019-02-25
417
+
418
+ ### Added
419
+
420
+ * rack_test driver now supports reloading elements when the document changes - Issue #2157
421
+ * Selenium driver HTML5 drag-drop emulation now emits multiple move events so drag direction
422
+ is determinable [Erkki Eilonen, Thomas Walpole]
423
+ * Capybara.server_errors now defaults to [Exception] - Issue #2160 [Edgars Beigarts]
424
+ ### Fixed
425
+
426
+ * Workaround hover issue with FF 65 - Issue #2156
427
+ * Workaround chromedriver issue when setting blank strings to react controlled text fields
428
+ * 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
429
+
430
+ # Version 3.13.2
431
+ Release date: 2019-01-24
432
+
433
+ ### Fixed
434
+
435
+ * Remove extraneous output
436
+
437
+ # Version 3.13.1
438
+ Release date: 2019-01-24
439
+
440
+ ### Fixed
441
+
442
+ * Only use Selenium visibility optimization when JS atom is available - Issue #2151
443
+
444
+ # Version 3.13.0
445
+ Release date: 2019-01-23
446
+
447
+ ### Added
448
+
449
+ * Session#quit added
450
+ * #scroll_to added to allow scrolling page/elements to specified locations
451
+ * Speed optimizations around multiple element location and path generation when using the Selenium driver
452
+ * Support for locator type checking in custom selectors
453
+ * Allow configuration of gumbo use - defaults to off
454
+ * `assert_style`/`has_style`/`have_style` deprecated in favor of `assert_matches_style`/`matches_styles?`/`match_style`
455
+ * :style filter added to selectors
456
+
457
+ # Version 3.12.0
458
+ Release date: 2018-11-28
459
+
460
+ ### Added
461
+
462
+ * Support Ruby 2.6 endless range in Result#[] and query `:between` option
463
+ * Pre-registered headless firefox driver :selenium_headless [Andrew Havens]
464
+ * 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
465
+
466
+ ### Fixed
467
+
468
+ * Raise error if only :x or :y are passed as an offset to click methods
469
+
470
+ ### Removed
471
+
472
+ * Support for RSpec < 3.5
473
+
474
+ # Version 3.11.1
475
+ Release date: 2018-11-16
476
+
477
+ ### Fixed
478
+
479
+ * Fixed :link_or_button XPath generation when it has had an expression filter added
480
+
481
+ # Version 3.11.0
482
+ Release date: 2018-11-14
483
+
484
+ ### Added
485
+
486
+ * Ability for node filters to set detailed error messages
487
+ * `Capybara::HTML` Will use `nokogumbo` for HTML parsing if installed
488
+ * `Selector#locator_filter` added to allow for dynamic locator in selectors
489
+
490
+ ### Fixed
491
+
492
+ * Node filters are evaluated in the context of the Selector they are used in to ensure the correct options are used
493
+
494
+ # Version 3.10.1
495
+ Release date: 2018-11-03
496
+
497
+ ### Fixed
498
+
499
+ * Fix `aria-label` and `test_id` matching for `link_or_button` selector type - Issue #2125
500
+ * Fixed crash in element path creation for matcher failure messages - Issue #2120
501
+
502
+ # Version 3.10.0
503
+ Release date: 2018-10-23
504
+
505
+ ### Added
506
+
507
+ * :class filter can now check for class names starting with !
508
+ * Selector `xpath`/`css` expression definitions will get filter names from block parameters if not explicitly provided
509
+ * `any_of_selectors` assertions and matchers to complement `all_of_selectors` and `none_of_selectors`
510
+
511
+ ### Fixed
512
+
513
+ * Selector `css` expression definition declared filters now work again
514
+ * Cleaned up warnings [Yuji Yaginuma]
515
+ * 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
516
+
517
+ # Version 3.9.0
518
+ Release date: 2018-10-03
519
+
520
+ ### Added
521
+
522
+ * Selenium with Chrome removes all cookies at session reset instead of just cookies from current domain if possible
523
+ * Support for Regexp for system :id and :class filters where possible
524
+ * `using_session` now accepts a session object as well as the name of the session for users who manually manage sessions
525
+ * The `:field` selector will now find `type = "hidden"` fields if the `type: "hidden"` filter option is provided
526
+
527
+ # Version 3.8.2
528
+ Release date: 2018-09-26
529
+
530
+ ### Fixed
531
+
532
+ * Fixed negated class selector option - Issue #2103
533
+
534
+ # Version 3.8.1
535
+ Release date: 2018-09-22
536
+
537
+ ### Fixed
538
+
539
+ * Filling in of date fields with a string when using selenium chrome regression [Micah Geisel]
540
+
541
+ # Version 3.8.0
542
+ Release date: 2018-09-20
543
+
544
+ ### Added
545
+
546
+ * Workaround geckodriver 0.22 issue with undefined pause durations
547
+ * :element selector ignores XML namespaces
548
+
549
+ ### Fixed
550
+
551
+ * Added Errno::ECONNRESET to the errors which will allows https server detection
552
+
553
+ # Version 3.7.2
554
+ Release date: 2018-09-12
555
+
556
+ ### Fixed
557
+
558
+ * Fix MatchQuery based matchers when used on a root element found using any type of parent/ancestor query - Issue #2097
559
+
560
+ * Fix Chrome/FF HTML5 drag simulation for elements (a, img) which default to draggable - Issue #2098
561
+
562
+ # Version 3.7.1
563
+ Release date: 2018-09-05
564
+
565
+ ### Fixed
566
+
567
+ * Restored ability to pass symbol as the CSS selector when calling `has_css?`/`have_css`/etc - Issue #2093
568
+
569
+ # Version 3.7.0
570
+ Release date: 2018-09-02
571
+
572
+ ### Added
573
+
574
+ * `Capybara.disable_animation` can be set to a CSS selector to identify which elements will have animation disabled [Michael Glass]
575
+ * `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]
576
+ * 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.
577
+ * 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.
578
+
579
+ ### Fixed
580
+
581
+ * 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.
582
+ * Firefox file inputs are only manually cleared when necessary.
583
+
584
+ # Version 3.6.0
585
+ Release date: 2018-08-14
586
+
587
+ ### Added
588
+
589
+ * Workaround geckodriver/firefox send_keys issues as much as possible using the Selenium actions API
590
+ * Workaround lack of HTML5 native drag and drop events when using Selenium driver with Chrome and FF >= 62
591
+ * `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)
592
+
593
+ # Version 3.5.1
594
+ Release date: 2018-08-03
595
+
596
+ ### Fixed
597
+
598
+ * Fixed misspelled method name `refute_matches_elector` => `refute_matches_selector`
599
+
600
+ # Version 3.5.0
601
+ Release date: 2018-08-01
602
+
603
+ ### Added
604
+
605
+ * text predicates and matchers (`has_text?`, `has_content?`, `assert_text`, etc) now support a `normalize_ws` option
606
+
607
+ ### Fixed
608
+
609
+ * `attach_file` with Selenium and local Firefox 62+ now correctly generates only one change event when attaching multiple files
610
+
611
+ # Version 3.4.2
612
+ Release date: 2018-07-24
613
+
614
+ ### Fixed
615
+
616
+ * `match_xxx` selectors and `matches_xxx?` predicates work correctly with elements found using a sibling selector - Issue #2073
617
+
618
+ # Version 3.4.1
619
+ Release date: 2018-07-20
620
+
621
+ ### Fixed
622
+
623
+ * `Session#evaluate_script` now strips the script in `Session` rather than only in the Selenium driver
624
+
625
+ # Version 3.4.0
626
+ Release date: 2018-07-19
627
+
628
+ ### Fixed
629
+
630
+ * Make selenium driver :backspace clear strategy work even if caret location is in middle of field content [Champier Cyril]
631
+ * Selenium issue with fieldset nested in disabled fieldset not being considered disabled
632
+ * `Session#evaluate_script` and `Element#evaluate_script` now strip leading/trailing whitespace from scripts [Ian Lesperance]
633
+
634
+ ### Added
635
+
636
+ * Work around Selenium lack of support for `file_detector` with remote geckodriver
637
+ * `#within_frame` locator is optional when only one frame exists
638
+ * `Capybara.test_id` option that allows for matching the Capybara provided selector types on an arbitrary attribute
639
+ (defaults to nil), set to your test id attribute ('data-test-id, etc) if using test id attributes in your project
640
+
641
+ # Version 3.3.1
642
+ Release date: 2018-06-27
643
+
644
+ ### Fixed
645
+
646
+ * `selenium-webdriver` version check [ahorek]
647
+ * Selenium driver correctly responds to `disabled?` for fieldset elements - Issue #2059 [Thomas Walpole]
648
+
649
+ # Version 3.3.0
650
+ Release date: 2018-06-25
651
+
652
+ ### Added
653
+
654
+ * RackTest driver now handles 307/308 redirects
655
+ * `execute_async_script` can now be called on elements to run the JS in the context of the element
656
+ * `:download` filter option on `:link' selector
657
+ * `Window#fullscreen`
658
+ * `Element#style` and associated matchers
659
+
660
+ ### Changed
661
+
662
+ * Minimum "supported" `selenium-webdriver` is raised to 3.5.0 (but you really should be using newer than that)
663
+
664
+ ### Fixes
665
+
666
+ * Selenium driver with Firefox workaround for clicking on table row - https://github.com/mozilla/geckodriver/issues/1228
667
+ * :class and :id filters applied to CSS based selectors now correctly handle the CSS comma
668
+ * Selenium driver handles namespaces when generating an elements `#path` - Issue #2048
669
+
670
+ # Version 3.2.1
671
+ Release date: 2018-06-04
672
+
673
+ ### Fixes
674
+
675
+ * Only split CSS selectors when :class or :id options are given. Restores 3.1.1 functionality for now but the underlying issue
676
+ will require a larger fix, hopefully coming soon. - Issue #2044 [Thomas Walpole]
677
+
678
+ # Version 3.2.0
679
+ Release date: 2018-06-01
680
+
681
+ ### Changed
682
+
683
+ * Ruby 2.3.0+ is now required
684
+ * `ElementNotFound` errors raised in selector filters are interpreted as non-matches
685
+
686
+ ### Added
687
+
688
+ * New global configuration `default_set_options` used in `Capybara::Node::Element#set` as default `options` hash [Champier Cyril]
689
+ * `execute_script` and `evaluate_script` can now be called on elements to run the JS in the context of the element [Thomas Walpole]
690
+ * Filters in custom selectors now support a `matcher` Regexp to handle multiple filter options [Thomas Walpole]
691
+ * `:element` selector type which will match on any attribute (other than the reserved names) passed as a filter option [Thomas Walpole]
692
+ * `:class` filter option now supports preceding class names with `!` to indicate not having that class [Thomas Walpole]
693
+ * `:class` and `:id` filter options now accept `XPath::Expression` objects to allow for more flexibility in matching [Thomas Walpole]
694
+ * `Capybara.disable_animation` setting which triggers loading of a middleware that attempts to disable animations in pages.
695
+ This is very much a beta feature and may change/disappear in the future. [Thomas Walpole]
696
+
697
+ # Version 3.1.1
698
+ Release date: 2018-05-25
699
+
700
+ ### Fixes
701
+
702
+ * Ensure keystrokes are sent when setting time/date fields to a string with the Selenium driver [Thomas Walpole]
703
+
704
+ # Version 3.1.0
705
+ Release date: 2018-05-10
706
+
707
+ ### Added
708
+
709
+ * Support for using `select` with text inputs associated with a datalist element
710
+ * `type` filter on `:button` selector
711
+ * Support for server operating in https mode
712
+ * Selenium driver now uses JS to fill_in/set date and time fields when passed date or time objects [Aleksei Gusev, Thomas Walpole]
713
+
714
+ # Version 3.0.3
715
+ Release date: 2018-04-30
716
+
717
+ ### Fixes
718
+
719
+ * Issue in `check` where the locator string could not be omitted
720
+ * Selenium browser type detection when using remote [Ian Ker-Seymer]
721
+ * Potential hang when waiting for requests to complete [Chris Zetter]
722
+
723
+ # Version 3.0.2
724
+ Release date: 2018-04-13
725
+
726
+ ### Fixes
727
+
728
+ * Fix expression filter descriptions in some selector failure messages
729
+ * Fix compounding of negated matchers - Issue #2010
730
+
731
+ # Version 3.0.1
732
+ Release date: 2018-04-06
733
+
734
+ ### Changed
735
+
736
+ * Restored ability for `Capybara.server=` to accept a proc which was accidentally removed in 3.0.0
737
+
738
+ # Version 3.0.0
739
+ Release date: 2018-04-05
740
+
741
+ ### Changed
742
+
743
+ * Selenium driver only closes extra windows for browsers where that is known to work (Firefox, Chrome)
744
+ * "threadsafe" mode is no longer considered beta
745
+
746
+ ### Fixes
747
+
748
+ * Multiple file attach_file with Firefox
749
+ * Use Puma::Server directly rather than Rack::Handler::Puma so signal handlers don't prevent test quitting
750
+
751
+ # Version 3.0.0.rc2
752
+ Release date: 2018-03-23
753
+
754
+ ### Changed
755
+
756
+ * Visibile text whitespace is no longer fully normalized in favor of being more in line with the WebDriver spec for visible text
757
+ * Drivers are expected to close extra windows when resetting the session
758
+ * Selenium driver supports Date/Time when filling in date/time/datetime-local inputs
759
+ * `current_url` returns the url for the top level browsing context
760
+ * `title` returns the title for the top level browsing context
761
+
762
+ ### Added
763
+
764
+ * `Driver#frame_url` returns the url for the current frame
765
+ * `Driver#frame_title` returns the title for the current frame
766
+
767
+ # Version 3.0.0.rc1
768
+ Release date: 2018-03-02
769
+
770
+ ### Added
771
+ * Support for libraries wrapping Capybara elements and providing a `#to_capybara_node` method
772
+
773
+ ### Changed
774
+
775
+ * `first` now raises ElementNotFound, by default, instead of returning nil when no matches are found - Issue #1507
776
+ * 'all' now waits for at least one matching element by default. Pass `wait: false` if you want the previous
777
+ behavior where an empty result would be returned immediately if no matching elements exist yet.
778
+ * ArgumentError raised if extra parameters passed to selector queries
779
+
780
+ ### Removed
781
+
782
+ * Ruby < 2.2.2 support
783
+ * `Capybara.exact_options` no longer exists. Just use `exact: true` on relevant actions/finders if necessary.
784
+ * All previously deprecated methods removed
785
+ * RSpec 2.x support
786
+ * selenium-webdriver 2.x support
787
+ * Nokogiri < 1.8 support
788
+ * `field_labeled` alias for `find_field`
789
+
790
+ # Version 2.18.0
791
+ Release date: 2018-02-12
792
+
793
+ ### Fixed
794
+
795
+ * Firefox/geckodriver setting of contenteditable childs contents
796
+ * Ignore Selenium::WebDriver::Error::SessionNotCreatedError when quitting driver [Tim Connor]
797
+
798
+ ### Removed
799
+
800
+ * Headless chrome modal JS injection that is no longer needed for Chrome 64+/chromedriver 2.35+
801
+
802
+
803
+ # Version 2.17.0
804
+ Release date: 2018-01-02
805
+
806
+ ### Added
807
+
808
+ * `have_all_of_selectors`, `have_none_of_selectors` RSpec matchers for parity with minitest assertions [Thomas Walpole]
809
+
810
+ ### Fixed
811
+
812
+ * Allow xpath 3.x gem [Thomas Walpole]
813
+ * Issue when drivers returned nil for `current_path` and a matcher was used with a Regexp [Thomas Walpole]
814
+ * Error message when visible element not found, but non-visible was [Andy Klimczak]
815
+
816
+ # Version 2.16.1
817
+ Release date: 2017-11-20
818
+
819
+ ### Fixed
820
+
821
+ * Fix rack_test driver for rack_test 0.7.1/0.8.0 [Thomas Walpole]
822
+ * `accept_prompt` response text can contain quotes when using selenium with headless chrome [Thomas Walpole]
823
+
824
+ # Version 2.16.0
825
+ Release date: 2017-11-13
826
+
827
+ ### Added
828
+
829
+ * Attempt to move element into view when selenium doesn't correctly do it - See PR #1917 [Thomas Walpole]
830
+ * `current_path` matchers will now autodetect path vs url based on string to be matched. Deprecates
831
+ `:only_path` in favor of `:ignore_query` option [Thomas Walpole]
832
+ * Session#evaluate_async_script [Thomas Walpole]
833
+
834
+ ### Fixed
835
+
836
+ * Default prompt value when using headless Chrome works correctly [Thomas Walpole]
837
+ * Support new modal error returned by selenium-webdriver 3.7 for W3C drivers [Thomas Walpole]
838
+ * Calling `respond_to?` on the object passed to `Capybara.configure` block - Issue #1935
839
+
840
+ # Version 2.15.4
841
+ Release date: 2017-10-07
842
+
843
+ ### Fixed
844
+ * Visiting an absolute URL shouldn't overwrite the port when no server or always_include_port=false - Issue #1921
845
+
846
+ # Version 2.15.3
847
+ Release date: 2017-10-03
848
+
849
+ ### Fixed
850
+ * Visiting '/' when Capybara.app_host has a trailing '/' - Issue #1918 [Thomas Walpole]
851
+
852
+ # Version 2.15.2
853
+ Release date: 2017-10-02
854
+
855
+ ### Fixed
856
+
857
+ * Include within scope description in element not found/ambiguous errors [Thomas Walpole]
858
+ * Raise error when no activation block is passed to modal methods if using headless chrome [Thomas Walpole]
859
+ * Don't retry element access when inspecting [Ivan Neverov]
860
+ * Don't override a specified port (even if it is default port) in visited url [Thomas Walpole]
861
+
862
+ # Version 2.15.1
863
+
864
+ Release date: 2017-08-04
865
+
866
+ ### Fixed
867
+
868
+ * `attach_file` with no extension/MIME type when using the `:rack_test` driver [Thomas Walpole]
869
+
870
+ # Version 2.15.0
871
+
872
+ Release date: 2017-08-04
873
+
874
+ ### Added
875
+
876
+ * `sibling` and `ancestor` finders added [Thomas Walpole]
877
+ * Added ability to pass options to registered servers when setting
878
+ * Added basic built-in driver registrations `:selenium_chrome` and `:selenium_chrome_headless` [Thomas Walpole]
879
+ * Add `and_then` to Capybara RSpec matchers which behaves like the previous `and` compounder. [Thomas Walpole]
880
+ * Compound RSpec expectations with Capybara matchers now run both matchers inside a retry loop rather
881
+ than waiting for one to pass/fail before checking the second. Will make `#or` more performant and confirm
882
+ both conditions are true "simultaneously" for `and`. [Thomas Walpole]
883
+ If you still want the
884
+ * Default filter values are now included in error descriptions [Thomas Walpole]
885
+ * Add `Session#refresh` [Thomas Walpole]
886
+ * Loosened restrictions on where `Session#within_window` can be called from [Thomas Walpole]
887
+ * Switched from `mime-types` dependency to `mini_mime` [Jason Frey]
888
+
889
+ # Version 2.14.4
890
+
891
+ Release date: 2017-06-27
892
+
893
+ ### Fixed
894
+
895
+ * Fix retrieval of session_options for HaveSelector matcher descriptions - Issue #1883
896
+
897
+ # Version 2.14.3
898
+
899
+ Release date: 2017-06-15
900
+
901
+ ### Fixed
902
+
903
+ * Minitest assertions now raise the correct error type - Issue #1879 [Thomas Walpole]
904
+ * Improve flexibility of detecting Chrome headless mode [Thomas Walpole]
905
+
906
+ # Version 2.14.2
907
+
908
+ Release date: 2017-06-09
909
+
910
+ ### Fixed
911
+
912
+ * Workaround for system modals when using headless Chrome now works if the page changes
913
+
914
+ # Version 2.14.1
915
+
916
+ Release date: 2017-06-07
917
+
918
+ ### Fixed
919
+
920
+ * Catch correct error when unexpected system modals are discovered in latest selenium [Thomas Walpole]
921
+ * Update default `puma` server registration to encourage it to run in single mode [Thomas Walpole]
922
+ * Suppress invalid element errors raised while lazily evaluating the results of `all` [Thomas Walpole]
923
+ * Added missing `with_selected` option to the :select selector to match `options`/`with_options` options - Issue #1865 [Bartosz Nowak]
924
+ * Workaround broken system modals when using selenium with headless Chrome
925
+
926
+ # Version 2.14.0
927
+
928
+ Release date: 2017-05-01
929
+
930
+ ### Added
931
+
932
+ * "threadsafe" mode that allows per-session configuration
933
+ * `:type` filter added to the `:fillable_field` selector
934
+ * Proxy methods when using RSpec for `all`/`within` that call either the Capybara::DSL or RSpec matchers
935
+ depending on arguments passed
936
+ * Support for the new errors in selenium-webdriver 3.4
937
+
938
+ ### Fixed
939
+
940
+ * Element#inspect doesn't raise an error on obsolete elements
941
+ * Setting a contenteditable element with Selenium and Chrome 59
942
+ * Workaround a hang while setting the window size when using geckodriver 0.16 and Firefox 53
943
+ * Clicking on url with a blank href goes to the current url when using the RackTest driver
944
+
945
+ # Version 2.13.0
946
+
947
+ Release date: 2017-03-16
948
+
949
+ ### Added
950
+
951
+ * Selenium driver supports returning element(s) from evaluate_script [Thomas Walpole]
952
+ * rack_test driver supports click on checkboxes and radio buttons to change their states [Thomas Walpole]
953
+ * Support RSpec equivalent assertions and expectations for MiniTest [Thomas Walpole]
954
+
955
+ ### Fixed
956
+
957
+ * Editing of content editable children with selenium
958
+
959
+ # Version 2.12.1
960
+
961
+ Release date: 2017-02-16
962
+
963
+ ### Fixed
964
+ * Disable lazy Capybara::Results evaluation for JRuby due to ongoing issues
965
+
966
+ # Version 2.12.0
967
+
968
+ Release date: 2017-01-22
969
+
970
+ ### Added
971
+
972
+ * Session#switch_to_frame for manually handling frame switching - Issue #1365 [Thomas Walpole]
973
+ * Session#within_frame now accepts a selector type (defaults to :frame) and locator [Thomas Walpole]
974
+ * Session#execute_script and Session#evaluate_script now accept optional arguments that will be passed to the JS function. This may not be supported
975
+ 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]
976
+ * :exact option for text and title matchers - Issue #1256 [Thomas Walpole]
977
+ * :exact_text option for selector finders/minders - Issue #1256 [Thomas Walpole]
978
+ * Capybara.exact_text setting that affects the text matchers and :text options passed to selector finders/matchers. Issue #1256 [Thomas Walpole]
979
+ * :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
980
+ support for passing page elements to Session#execute_script [Thomas Walpole]
981
+ * assert_all_selectors/assert_none_of_selectors assertions added
982
+ * :link selector (used by find_link/click_link) now supports finding hyperlink placeholders (no href attribute) when href: nil option is specified [Thomas Walpole]
983
+ * `within_element` as an alias of `within` due to RSpec collision
984
+
985
+ ### Fixed
986
+
987
+ * Fields inside a disabled fieldset are now correctly considered disabled - Issue #1816 [Thomas Walpole]
988
+ * Lazy Capybara::Results evaluation enabled for JRuby 9.1.6.0+
989
+ * A driver returning nil for #current_url won't raise an exception when calling #current_path [Dylan Reichstadt]
990
+ * Support Ruby 2.4.0 unified Integer [Koichi ITO]
991
+ * RackTest driver no longer modifies the text content of textarea elements in order to behave more like a real browser [Thomas Walpole]
992
+ * 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]
993
+
994
+ # Version 2.11.0
995
+
996
+ Release date: 2016-12-05
997
+
998
+ ### Added
999
+
1000
+ * Options for clearing session/local storage on reset added to the Selenium driver
1001
+ * Window size changes wait for the size to stabilize
1002
+ * Defined return value for most actions
1003
+ * Ignore specific error when quitting selenium driver instance - Issue #1773 [Dylan Reichstadt, Thomas Walpole]
1004
+ * Warn on selenium unknown errors rather than raising when quitting driver [Adam Pohorecki, Thomas Walpole]
1005
+ * Capybara::Result#each now returns an `Enumerator` when called without a block - Issue #1777 [Thomas Walpole]
1006
+
1007
+ ### Fixed
1008
+
1009
+ * Selenium driver with Chrome should support multiple file upload [Thomas Walpole]
1010
+ * Fix visible: :hidden with :text option behavior [Thomas Walpole]
1011
+
1012
+ # Version 2.10.2
1013
+
1014
+ Release date: 2016-11-30
1015
+
1016
+ ### Fixed
1017
+
1018
+ * App exceptions with multiple parameter initializers now re-raised correctly - Issue #1785 [Michael Lutsiuk]
1019
+ * Use Addressable::URI when parsing current_path since it's more lenient of technically invalid URLs - Issue #1801 [Marcos Duque, Thomas Walpole]
1020
+
1021
+ # Version 2.10.1
1022
+
1023
+ Release date: 2016-10-08
1024
+
1025
+ ### Fixed
1026
+ * App errors are now correctly raised with the explanatory cause in JRuby [Thomas Walpole]
1027
+ * Capybara::Result optimization disabled in JRuby due to issue with lazy enumerator evaluation [Thomas Walpole]
1028
+ See: https://github.com/jruby/jruby/issues/4212
1029
+
1030
+ # Version 2.10.0
1031
+
1032
+ Release date: 2016-10-05
1033
+
1034
+ ### Added
1035
+
1036
+ * Select `<button>` elements with descendant images with `alt` attributes matching the locator [Ian Lesperance]
1037
+ * Locator string is optional in selector based matchers [Thomas Walpole]
1038
+ * Selectors can specify their default visible setting [Thomas Walpole]
1039
+ * Selector based finders and matchers can be passed a block to filter the results within the retry behavior [Thomas Walpole]
1040
+
1041
+ # Version 2.9.2
1042
+
1043
+ Release date: 2016-09-29
1044
+
1045
+ ### Fixed
1046
+
1047
+ * :label built-in selector finds nested label/control by control id if the label has no 'for' attribute [Thomas Walpole]
1048
+ * Warning issued if an unknown selector type is specified [Thomas Walpole]
1049
+
1050
+ # Version 2.9.1
1051
+
1052
+ Release date: 2016-09-23
1053
+
1054
+ ### Fixed
1055
+
1056
+ * allow_label_click option did not work in some cases with Poltergeist - Issue #1762 [Thomas Walpole]
1057
+ * matches_selector? should have access to all of a selectors options except the count options [Thomas Walpole]
1058
+
1059
+ # Version 2.9.0
1060
+
1061
+ Release date: 2016-09-19
1062
+
1063
+ ### Fixed
1064
+
1065
+ * Issue with rack-test driver and obsolete mime-types when using `#attach_file` - Issue #1756 [Thomas Walpole]
1066
+
1067
+ ### Added
1068
+
1069
+ * `:class` option to many of the built-in selectors [Thomas Walpole]
1070
+ * Removed need to specify value when creating `:boolean` filter type in custom selectors [Thomas Walpole]
1071
+ * Filters can now be implemented through the XPath/CSS expressions in custom selectors [Thomas Walpole]
1072
+ * `Element#matches_xpath?` and `Element#matches_css?` [Thomas Walpole]
1073
+
1074
+ # Version 2.8.1
1075
+
1076
+ Release date: 2016-08-25
1077
+
1078
+ ### Fixed
1079
+
1080
+ * Fixed error message from have_text when text is not found but contains regex special characters [Ryunosuke Sato]
1081
+ * Warn when :exact option is passed that has no effect [Thomas Walpole]
1082
+
1083
+ # Version 2.8.0
1084
+
1085
+ Release date: 2016-08-16
1086
+
1087
+ ### Fixed
1088
+
1089
+ * Issue with modals present when closing the page using selenium - Issue #1696 [Jonas Nicklas, Thomas Walpole]
1090
+ * Server errors raised in test code have the cause set to an explanatory exception
1091
+ in rubies that support Exception#cause rather than a confusing ExpectationNotMet - Issue #1719 [Thomas Walpole]
1092
+ * background/given/given! RSpec aliases will work if RSpec config.shared_context_metadata_behavior == :apply_to_host_groups [Thomas Walpole]
1093
+ * Fixed setting of unexpectedAlertError now that Selenium will be freezing the Capabilities::DEFAULTS [Thomas Walpole]
1094
+
1095
+ ### Added
1096
+
1097
+ * 'check', 'uncheck', and 'choose' can now optionally click the associated label if the checkbox/radio button is not visible [Thomas Walpole]
1098
+ * Raise error if Capybara.app_host/default_host are specified incorrectly [Thomas Walpole]
1099
+ * Capybara::Selector::FilterSet allows for sharing filter definitions between selectors [Thomas Walpole]
1100
+ * Remove need to pass nil locator in most node actions when locator is not needed [Thomas Walpole]
1101
+ * New frames API for drivers - Issue #1365 [Thomas Walpole]
1102
+ * Deprecated Element#parent in favor of Element#query_scope to better indicate what it is [Thomas Walpole]
1103
+ * Improved error messages for have_text matcher [Alex Chaffee, Thomas Walpole]
1104
+ * The `:with` option for the field selector now accepts a regular expression for matching the field value [Uwe Kubosch]
1105
+ * Support matching on aria-label attribute when finding fields/links/buttons - Issue #1528 [Thomas Walpole]
1106
+ * Optimize Capybara::Result to only apply fields as necessary in common use-case of `.all[idx]` [Thomas Walpole]
1107
+
1108
+ # Version 2.7.1
1109
+
1110
+ Release date: 2016-05-01
1111
+
1112
+ ### Fixed
1113
+
1114
+ * Issue where within_Frame would fail with Selenium if the frame is removed from within itself [Thomas Walpole]
1115
+ * Reset sessions in reverse order so sessions with active servers are reset last - Issue #1692 [Jonas Nicklas, Thomas Walpole]
1116
+
1
1117
  # Version 2.7.0
2
- Release date: unreleased
1118
+
1119
+ Release date: 2016-04-07
3
1120
 
4
1121
  ### Fixed
5
- * Element#visible?/checked?/disabled?/selected? Now return boolean
6
- as expected when using the rack_test driver [Thomas Walpole]
1122
+
1123
+ * Element#visible?/checked?/disabled?/selected? Now return boolean as expected when using the rack_test driver [Thomas Walpole]
7
1124
  * The rack_test driver now considers \<input type="hidden"> elements as non-visible [Thomas Walpole]
8
1125
  * A nil locator passed to the built-in html type selectors now behaves consistently, and finds elements of the expected types [Thomas Walpole]
9
1126
  * Capybara::Server now searches for available ports on the same interface it binds to [Aaron Stone]
@@ -11,7 +1128,8 @@ Release date: unreleased
11
1128
  * Warning output if unused parameters are passed to a selector query [Thomas Walpole]
12
1129
 
13
1130
  ### Added
14
- * Capybara now waits for requests to Capybaras server to complete while restting the session [John Hawthorn, Thomas Walpole]
1131
+
1132
+ * Capybara now waits for requests to Capybaras server to complete while resetting the session [John Hawthorn, Thomas Walpole]
15
1133
  * Capybara.reuse_server option to allow disabling of sharing server instance between sessions [Thomas Walpole]
16
1134
  * :multiple filter added to relevant selectors [Thomas Walpole]
17
1135
  * Provided server registrations for :webrick and :puma. Capybara.server = :puma for testing with Rails 5 [Thomas Walpole]
@@ -23,22 +1141,28 @@ Release date: unreleased
23
1141
  save_page/save_screenshot [Thomas Walpole]
24
1142
  * :label selector [Thomas Walpole]
25
1143
 
26
- #Version 2.6.2
27
- Relase date: 2016-01-27
1144
+ # Version 2.6.2
1145
+
1146
+ Release date: 2016-01-27
28
1147
 
29
1148
  ### Fixed
1149
+
30
1150
  * support for more than just addressable 2.4.0 [Thomas Walpole]
31
1151
 
32
1152
  # Version 2.6.1
1153
+
33
1154
  Release date: 2016-01-27
34
1155
 
35
1156
  ### Fixed
1157
+
36
1158
  * Add missing require for addressable [Jorge Bejar]
37
1159
 
38
1160
  # Version 2.6.0
1161
+
39
1162
  Relase date: 2016-01-17
40
1163
 
41
1164
  ### Fixed
1165
+
42
1166
  * Fixed path escaping issue with current_path matchers [Thomas Walpole, Luke Rollans] (Issue #1611)
43
1167
  * Fixed circular require [David Rodríguez]
44
1168
  * Capybara::RackTest::Form no longer overrides Object#method [David Rodriguez]
@@ -47,6 +1171,7 @@ Relase date: 2016-01-17
47
1171
 
48
1172
 
49
1173
  ### Added
1174
+
50
1175
  * Capybara.modify_selector [Thomas Walpole]
51
1176
  * xfeature and ffeature aliases added when using RSpec [Filip Bartuzi]
52
1177
  * Selenium driver supports a :clear option to #set to handle different strategies for clearing a field [Thomas Walpole]
@@ -55,15 +1180,18 @@ Relase date: 2016-01-17
55
1180
  * Modal API methods now default wait time to Capybara.default_max_wait_time [Thomas Walpole]
56
1181
 
57
1182
  # Version 2.5.0
1183
+
58
1184
  Release date: 2015-08-25
59
1185
 
60
1186
  ### Fixed
1187
+
61
1188
  * Error message now raised correctly when invalid options passed to 'have_text'/'have_content' [Thomas Walpole]
62
1189
  * Rack-test driver correctly gets document title when elements on the page have nested title elements (SVG) [Thomas Walpole]
63
1190
  * 'save_page' no longer errors when using Capybara.asset_host if the page has no \<head> element [Travis Grathwell]
64
1191
  * rack-test driver will ignore clicks on links with href starting with '#' or 'javascript:'
65
1192
 
66
1193
  ### Added
1194
+
67
1195
  * has_current_path? and associated asserts/matchers added [Thomas Walpole]
68
1196
  * Implement Node#path in selenium driver [Soutaro Matsumoto]
69
1197
  * 'using_session' is now nestable [Thomas Walpole]
@@ -81,25 +1209,32 @@ Release date: 2015-08-25
81
1209
  * Clear field using backspaces in Selenium driver by using `:fill_options => { :clear => :backspace }` [Joe Lencioni]
82
1210
 
83
1211
  ### Deprecated
1212
+
84
1213
  * Capybara.default_wait_time deprecated in favor of Capybara.default_max_wait_time to more clearly explain its purpose [Paul Pettengill]
85
1214
 
86
- #Version 2.4.4
1215
+ # Version 2.4.4
1216
+
87
1217
  Release date: 2014-10-13
88
1218
 
89
1219
  ### Fixed
1220
+
90
1221
  * Test for visit behavior updated [Phil Baker]
91
1222
  * Removed concurrency prevention in favor of a note in the README - due to load order issues
92
1223
 
93
1224
  # Version 2.4.3
1225
+
94
1226
  Relase date: 2014-09-21
95
1227
 
96
1228
  ### Fixed
1229
+
97
1230
  * Update concurrency prevention to match Rails 4.2 behavior
98
1231
 
99
1232
  # Version 2.4.2
1233
+
100
1234
  Release date: 2014-09-20
101
1235
 
102
1236
  ### Fixed
1237
+
103
1238
  * Prevent concurrency issue when testing Rails app with default test environment [Thomas Walpole]
104
1239
  * Tags for windows API tests fixed [Dmitry Vorotilin]
105
1240
  * Documentation Fixes [Andrey Botalov]
@@ -134,6 +1269,7 @@ Release date: 2014-07-03
134
1269
  Release date: 2014-06-02
135
1270
 
136
1271
  ### Added
1272
+
137
1273
  * New window management API [Andrey Botalov]
138
1274
  * Speed improvement for visible text detection in RackTest [Thomas Walpole]
139
1275
  Thanks to Phillipe Creux for instigating this
@@ -553,8 +1689,8 @@ Release date: 2011-06-14
553
1689
  * Rack::Test driver honours maxlength on input fields [Guilherme Carvalho]
554
1690
  * Rack::Test now works as expected with domains and subdomains [Jonas Nicklas]
555
1691
  * Session is reset more thoroughly between tests. [Jonas Nicklas]
556
- * Raise error when uploading non-existant file [Jonas Nicklas]
557
- * Rack reponse body should respond to #each [Piotr Sarnacki]
1692
+ * Raise error when uploading non-existent file [Jonas Nicklas]
1693
+ * Rack response body should respond to #each [Piotr Sarnacki]
558
1694
  * Deprecation warnings with selenium webdriver 0.2.0 [Aaron Gibraltar]
559
1695
  * Selenium Chrome no longer YELLS tagname [Carl Jackson & David W. Frank]
560
1696
  * Capybara no longer strips encoding before sending to Rack [Jonas Nicklas]
@@ -696,7 +1832,7 @@ Release date: 2010-05-12
696
1832
 
697
1833
  Release date: 2010-04-09
698
1834
 
699
- This is a drop in compatible maintainance release. It's mostly
1835
+ This is a drop in compatible maintenance release. It's mostly
700
1836
  important for driver authors.
701
1837
 
702
1838
  ### Added
@@ -715,7 +1851,7 @@ important for driver authors.
715
1851
 
716
1852
  Release date: 2010-03-22
717
1853
 
718
- This is a maintainance release with minor bug fixes, should be
1854
+ This is a maintenance release with minor bug fixes, should be
719
1855
  drop in compatible.
720
1856
 
721
1857
  ### Added