http://groups.google.com/group/ruby-capybara/msg/6079b122979ffad2のヒントに感謝します。
これはRubyのスリープを使用しているため、多少不正確ですが、あなたのために仕事をするはずです。また、 execute はすべてに対して呼び出されるため、1秒未満の待機になります。中間ステップ - 準備が整うまで待ち、フィールドをチェックし、フォーカスし、テキストを入力する - それぞれ一時停止します。
features/support ディレクトリに "throttle.rb" を作成し (Cucumber を使用している場合)、以下を入力します。
require 'selenium-webdriver'
module ::Selenium::WebDriver::Firefox
class Bridge
attr_accessor :speed
def execute(*args)
result = raw_execute(*args)['value']
case speed
when :slow
sleep 0.3
when :medium
sleep 0.1
end
result
end
end
end
def set_speed(speed)
begin
page.driver.browser.send(:bridge).speed=speed
rescue
end
end
次に、ステップ定義で、次を呼び出します。
set_speed(:slow)
また:
set_speed(:medium)
リセットするには、次のように呼び出します。
set_speed(:fast)