module Capybara

def configure


- **javascript_driver** (Symbol = `:selenium`) - The name of a driver to use for JavaScript enabled tests.
- **default_driver** (Symbol = `:rack_test`) - The name of the driver to use by default.

When using `capybara/dsl`, the following options are also available:

#### DSL Options

- **w3c_click_offset** (Boolean = 'true') - Whether click offsets should be from element center (true) or top left (false)
- **threadsafe** (Boolean = `false`) - Whether sessions can be configured individually.
- **test_id** (Symbol, String, `nil` = `nil`) - Optional attribute to match locator against with built-in selectors along with id.
and {configure raise_server_errors} is `true`.
- **server_errors** (Array\ = `[Exception]`) - Error classes that should be raised in the tests if they are raised in the server
- **server_host** (String = "127.0.0.1") - The IP address Capybara will bind the application server to. If the test application is to be accessed from an external host, you will want to change this to "0.0.0.0" or to a more specific IP address that your test client can reach.
- **server_port** (Integer) - The port Capybara will run the application server on, if not specified a random port will be used.
- **server** (Symbol = `:default` (which uses puma)) - The name of the registered server to use when running the app under test.
{Capybara::Session#save_and_open_page save_and_open_page}, or {Capybara::Session#save_and_open_screenshot save_and_open_screenshot}.
- **save_path** (String = `Dir.pwd`) - Where to put pages saved through {Capybara::Session#save_page save_page}, {Capybara::Session#save_screenshot save_screenshot},
- **run_server** (Boolean = `true`) - Whether to start a Rack server for the given Rack app.
- **reuse_server** (Boolean = `true`) - Whether to reuse the server thread between multiple sessions using the same app object.
- **raise_server_errors** (Boolean = `true`) - Should errors raised in the server be raised in the tests?
- **predicates_wait** (Boolean = `true`) - Whether Capybara's predicate matchers use waiting behavior by default.
- **match** (`:one`, `:first`, `:prefer_exact`, `:smart` = `:smart`) - The matching strategy to find nodes.
- **ignore_hidden_elements** (Boolean = `true`) - Whether to ignore hidden elements on the page.
- **exact_text** (Boolean = `false`) - Whether the text matchers and `:text` filter match exactly or on substrings.
written using the `XPath#is` method.
- **exact** (Boolean = `false`) - Whether locators are matched exactly or with substrings. Only affects selector conditions
- **enable_aria_role** (Boolean = `false`) - Selectors will check for relevant aria role (currently only `button`).
- **enable_aria_label** (Boolean = `false`) - Whether fields, links, and buttons will match against `aria-label` attribute.
- **default_set_options** (Hash = `{}`) - The default options passed to {Capybara::Node::Element#set Element#set}.
- **default_selector** (`:css`, `:xpath` = `:css`) - Methods which take a selector use the given type by default. See also {Capybara::Selector}.
- **default_retry_interval** (Numeric = `0.01`) - The number of seconds to delay the next check in asynchronous processes.
- **default_normalize_ws** (Boolean = `false`) - Whether text predicates and matchers use normalize whitespace behavior.
- **default_max_wait_time** (Numeric = `2`) - The maximum number of seconds to wait for asynchronous processes to finish.
- **automatic_reload** (Boolean = `true`) - Whether to automatically reload elements as Capybara is waiting.
{Capybara::Node::Element#uncheck Element#uncheck} will attempt to click the associated `
def configure
  yield config
end