Commit 5697907969f48ef731a511049cc8898381f3df44

Authored by Antonio Terceiro
2 parents fdc3d92a 8064b0da

Merge branch 'fix_selenium_click_link' of https://gitlab.com/rafamanzo/noosfero

Showing 1 changed file with 16 additions and 1 deletions   Show diff stats
features/step_definitions/web_steps.rb
... ... @@ -39,7 +39,22 @@ end
39 39  
40 40 When /^(?:|I )follow "([^"]*)"(?: within "([^"]*)")?$/ do |link, selector|
41 41 with_scope(selector) do
42   - click_link(link, :match => :prefer_exact)
  42 + begin
  43 + click_link(link, :match => :prefer_exact)
  44 + rescue Selenium::WebDriver::Error::UnknownError => selenium_error
  45 + if selenium_error.message.start_with? 'Element is not clickable at point'
  46 + href = find_link(link)[:href]
  47 +
  48 + warn "#{selenium_error.message}\n\n"\
  49 + "Trying to overcome this by redirecting you to the link's href:\n"\
  50 + "\t'#{href}'\n\n"\
  51 + "Good luck and be careful that this may produce hidden links to work on tests!\n"
  52 +
  53 + visit href
  54 + else
  55 + raise selenium_error
  56 + end
  57 + end
43 58 end
44 59 end
45 60  
... ...