Method: RWebUnit::Driver#repeat_try
- Defined in:
- lib/rwebunit/driver.rb
#repeat_try(num_tries = @@default_timeout || 30, interval = @@default_polling_interval || 1, &block) ⇒ Object
Try the operation up to specified times, and sleep given interval (in seconds) Error will be ignored until timeout Example
repeat_try(3, 2) { ('Search' } # 3 times, 6 seconds in total
repeat_try { ('Search' } # using default 5 tries, 2 second interval
665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 |
# File 'lib/rwebunit/driver.rb', line 665 def repeat_try(num_tries = @@default_timeout || 30, interval = @@default_polling_interval || 1, &block) num_tries ||= 1 (num_tries - 1).times do |num| begin yield return rescue => e # puts "debug: #{num} failed: #{e}" sleep interval end end # last try, throw error if still fails begin yield rescue => e raise e.to_s + " after trying #{num_tries} times every #{interval} seconds" end yield end |