ruby-on-rails – 如何设置轨道5.1中镀铬无头系统测试的屏幕尺寸?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何设置轨道5.1中镀铬无头系统测试的屏幕尺寸?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为了使用和测试我的网站的新响应前端,我正在尝试使用Rails的新系统测试(规格)与 javascript和Chrome无头.不过,我无法想出一种在规范中设置浏览器屏幕大小的方法.

这是我在spec / rails_helper.rb中的设置

config.before(:each,type: :system,js: true) do
  driven_by :selenium_chrome_headless,screen_size: [1900,800]
end

然后我创建截图:

page.driver.save_screenshot(the_uri)

但是渲染屏幕截图的大小仍然是默认值,它要小得多.理想情况下,我希望看到整个渲染页面,但在这一点上,我很高兴只使用我提供的尺寸.

关于我在这里失踪的想法?

解决方法

您只需重新定义传递无头和屏幕大小参数的驱动程序.
Capybara.register_driver :selenium_chrome_headless do |app|
  options = Selenium::WebDriver::Chrome::Options.new

  [
    "headless","window-size=1280x1280","disable-gpu" # https://developers.google.com/web/updates/2017/04/headless-chrome
  ].each { |arg| options.add_argument(arg) }

  Capybara::Selenium::Driver.new(app,browser: :chrome,options: options)
end

RSpec.configure do |config|
  config.before(:each,js: true) do
    driven_by :selenium_chrome_headless
  end
end

猜你在找的Ruby相关文章