BigW Consortium Gitlab

Commit 09a7a1f0 by Michael Kozono

Fix intermittent click error

parent 6c978c8f
...@@ -13,16 +13,18 @@ module QA ...@@ -13,16 +13,18 @@ module QA
visit current_url visit current_url
end end
def wait(css = '.application', time: 60) def wait(max: 60, time: 1, reload: true)
Time.now.tap do |start| start = Time.now
while Time.now - start < time
break if page.has_css?(css, wait: 5)
refresh while Time.now - start < max
end return true if yield
sleep(time)
refresh if reload
end end
yield if block_given? false
end end
def scroll_to(selector, text: nil) def scroll_to(selector, text: nil)
......
...@@ -10,12 +10,14 @@ module QA ...@@ -10,12 +10,14 @@ module QA
view 'app/views/devise/sessions/_new_base.html.haml' do view 'app/views/devise/sessions/_new_base.html.haml' do
element :login_field, 'text_field :login' element :login_field, 'text_field :login'
element :passowrd_field, 'password_field :password' element :password_field, 'password_field :password'
element :sign_in_button, 'submit "Sign in"' element :sign_in_button, 'submit "Sign in"'
end end
def initialize def initialize
wait('.application', time: 500) wait(max: 500) do
page.has_css?('.application')
end
end end
def sign_in_using_credentials def sign_in_using_credentials
......
...@@ -17,7 +17,12 @@ module QA ...@@ -17,7 +17,12 @@ module QA
def expand_section(name) def expand_section(name)
page.within('#content-body') do page.within('#content-body') do
page.within('section', text: name) do page.within('section', text: name) do
click_button 'Expand' unless first('button', text: 'Collapse') # Because it is possible to click the button before the JS toggle code is bound
wait(reload: false) do
click_button 'Expand' unless first('button', text: 'Collapse')
page.has_content?('Collapse')
end
yield if block_given? yield if block_given?
end end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment