加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 20:21:46 所属栏目:百科 来源:网络整理
导读:默认情况下,Selenium通过使用Cucumber定义的方案尽可能快地运行. 我想将其设置为以较低的速度运行,因此我可以捕获一个进程的视频. 我发现Selenium :: Client :: Driver的一个实例有一个set_speed方法.这对应于Java API. 如何获取Selenium :: Client :: Drive
默认情况下,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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读