Ruby on rails 如何在Rspec(Selenium)中设置浏览器窗口大小

Ruby on rails 如何在Rspec(Selenium)中设置浏览器窗口大小,ruby-on-rails,selenium,capybara,integration-testing,Ruby On Rails,Selenium,Capybara,Integration Testing,我正在使用capybara,Selenium进行RubyonRails集成测试 如何设置测试浏览器窗口的高度和宽度 我搜索了一下,但没有什么对我有用 我尝试了以下代码 page.execute_script('$(window).width(1200)') 任何人都可以。请。您可以使用selenium webdriver中的resize_to(width,height)方法 例如,以下内容将使浏览器宽100px,高200px: page.driver.browser.manage.window

我正在使用capybara,Selenium进行RubyonRails集成测试

如何设置测试浏览器窗口的高度和宽度

我搜索了一下,但没有什么对我有用

我尝试了以下代码

page.execute_script('$(window).width(1200)')

任何人都可以。请。

您可以使用selenium webdriver中的
resize_to(width,height)
方法

例如,以下内容将使浏览器宽100px,高200px:

page.driver.browser.manage.window.resize_to(100,200)
这对我有帮助:

Capybara.register_driver :chrome do |app|
  Capybara::Selenium::Driver.new(app, 
    browser: :chrome,
    desired_capabilities: {
      "chromeOptions" => {
        "args" => %w{ window-size=1024,768 }
      }
    }
  )
end

基于Justin Ko的有用答案:

responsive\u helper
模块导入您的spec文件如何?比如说,

模块响应助手
def将窗口大小调整为手机大小
调整窗口大小([640480])
结束
def调整窗口大小至平板电脑
调整窗口大小([960640])
结束
def resize_window_默认值
调整窗口大小([1024768])
结束
私有的
按大小调整窗口大小
如果Capybara.current\u session.driver.browser.manage.window.resize\u to(大小[0],大小[1]),则为Capybara.current\u session.driver.browser.respond\u to?“管理
结束
结束

我还对该解决方案进行了如下改进:
page.br…00)if page.driver.browser.respond\u to?“管理“
,这允许测试在无头模式下运行
page.driver.browser.manage.window.response_至(1280800)如果page.driver.browser.response_至?”manage'
#仅在以下情况下运行:selenium是javascript#u驱动程序