Commit 5697907969f48ef731a511049cc8898381f3df44
Exists in
master
and in
14 other branches
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,7 +39,22 @@ end | ||
39 | 39 | ||
40 | When /^(?:|I )follow "([^"]*)"(?: within "([^"]*)")?$/ do |link, selector| | 40 | When /^(?:|I )follow "([^"]*)"(?: within "([^"]*)")?$/ do |link, selector| |
41 | with_scope(selector) do | 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 | end | 58 | end |
44 | end | 59 | end |
45 | 60 |