默认情况下,Selenium通过使用Cucumber定义的方案尽可能快地运行.
我想将其设置为以较低的速度运行,因此我可以捕获一个进程的视频.
我想将其设置为以较低的速度运行,因此我可以捕获一个进程的视频.
我发现Selenium :: Client :: Driver的一个实例有一个set_speed方法.这对应于Java API.
如何获取Selenium :: Client :: Driver类的实例?我可以得到尽可能多的page.driver,但它返回一个Capybara :: Driver :: Selenium的实例.
解决方法
感谢
http://groups.google.com/group/ruby-capybara/msg/6079b122979ffad2提示.
只是一个注释,这使用Ruby的睡眠,所以它有点不精确 – 但应该为你做的工作.此外,执行是为了所有这一切,所以这是第二秒等待的原因.中间步骤 – 等待准备就绪,检查字段,焦点,输入文本 – 每次暂停.
在您的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)