17

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

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

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

我尝试了以下代码。

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

任何一个都可以。请。

4

3 回答 3

30

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

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

page.driver.browser.manage.window.resize_to(100,200)
于 2012-12-10T17:28:49.390 回答
6

它对我有帮助:

Capybara.register_driver :chrome do |app|
  Capybara::Selenium::Driver.new(app, 
    browser: :chrome,
    desired_capabilities: {
      "chromeOptions" => {
        "args" => %w{ window-size=1024,768 }
      }
    }
  )
end
于 2015-08-26T12:29:18.827 回答
1

建立在 Justin Ko 的有用答案之上:

将模块导入responsive_helper您的规范文件怎么样?例如,

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

看看这个!

于 2015-10-18T04:49:24.930 回答