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

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

发布时间:2020-12-16 21:32:09 所属栏目:百科 来源:网络整理
导读:为了使用和测试我的网站的新响应前端,我正在尝试使用Rails的新系统测试(规格)与 javascript和Chrome无头.不过,我无法想出一种在规范中设置浏览器屏幕大小的方法. 这是我在spec / rails_helper.rb中的设置 config.before(:each,type: :system,js: true) do dr
为了使用和测试我的网站的新响应前端,我正在尝试使用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

(编辑:李大同)

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

    推荐文章
      热点阅读