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

时间:2012-12-10 13:55:41

标签: ruby-on-rails selenium capybara integration-testing

我正在使用 capybara,Selenium 开展Ruby On Rails集成测试。

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

我搜索过,但对我来说没什么用。

我尝试了以下代码。

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

任何人都可以。请。

3 个答案:

答案 0 :(得分:27)

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

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

page.driver.browser.manage.window.resize_to(100,200)

答案 1 :(得分:5)

这对我有帮助:

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

答案 2 :(得分:0)

建立Justin Ko的有用答案:

如何将responsive_helper模块导入您的spec文件?例如,

module ResponsiveHelpers

  def resize_window_to_mobile
    resize_window_by([640, 480])
  end

  def resize_window_to_tablet
    resize_window_by([960, 640])
  end

  def resize_window_default
    resize_window_by([1024, 768])
  end

private

  def resize_window_by(size)
    Capybara.current_session.driver.browser.manage.window.resize_to(size[0], size[1]) if Capybara.current_session.driver.browser.respond_to? 'manage'
  end
end

Check it out!

相关问题