gpt4 book ai didi

ruby-on-rails - 如何在 Rails 5.1 中为 Chrome headless 系统测试设置屏幕尺寸?

转载 作者:行者123 更新时间:2023-12-04 05:16:30 27 4
gpt4 key购买 nike

为了为我的网站使用和测试新的响应式前端,我正在尝试使用 Rails 的新系统测试(规范)和 javascript 和 Chrome headless 。不过,我想不出在规范中设置浏览器屏幕大小的方法。

这是我在 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)

但渲染截图的大小仍然是默认的,小得多。理想情况下,我希望看到整个呈现的页面,但此时,我会很高兴仅使用我提供的尺寸。

关于我在这里缺少什么的想法?

最佳答案

您只需要重新定义传递 headless 和屏幕大小参数的驱动程序。

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, type: :system, js: true) do
driven_by :selenium_chrome_headless
end
end

关于ruby-on-rails - 如何在 Rails 5.1 中为 Chrome headless 系统测试设置屏幕尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47182364/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com