ruby – 我如何以更低的速度运行硒(通过水豚)?

前端之家收集整理的这篇文章主要介绍了ruby – 我如何以更低的速度运行硒(通过水豚)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
默认情况下,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)

猜你在找的Ruby相关文章