Handling duplicate links with Capybara and Cucumber

Updated . Posted . Visible to the public.

Sometimes, you might have duplicate links on a page. Trying to click those links will by default cause Capybara to raise an Ambiguous match error.

If you do not care about which of those links are clicked, you can disable this errors by adding the following meta step:

When(/^(.*) \[allow ambiguous\]$/)do |step_text|
  prior_match_strategy = Capybara.match
  Capybara.match = :first
  step(step_text)
ensure
  Capybara.match = prior_match_strategy
end

Use it with

When I follow "a duplicate link" [allow ambiguous]
Tobias Kraze
Last edit
Henning Koch
Keywords
match, prefer, exact
License
Source code in this card is licensed under the MIT License.
Posted by Tobias Kraze to makandra dev (2020-02-17 16:37)