ruby - 更改默认的 Capybara 浏览器窗口大小

标签 ruby selenium rspec capybara

因此,关于使用 Capybara 和 RSpec 的集成测试,我知道我可以这样做:

page.driver.browser.manage.window.resize_to(x,y)

根据 How to set Browser Window size in Rspec (Selenium)对于特定的 RSpec 测试,但是有没有办法在全局范围内执行此操作,以便每个受媒体查询影响的测试都不必定义它?

最佳答案

对所有 js 测试执行此操作的正确方法是在 spec_helper.rb RSpec.configure block 中添加以下内容

config.before(:each, js: true) do
  Capybara.page.driver.browser.manage.window.maximize
end

最大化窗口。更改为 resize_to(x,y) 以设置任何窗口大小。

编辑:如果您碰巧在使用 Poltergeist,正确的方法是

config.before(:each, js: true) do
  Capybara.page.driver.browser.resize(x,y)
end

关于ruby - 更改默认的 Capybara 浏览器窗口大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18390071/

相关文章:

java - 按位加法在 Java 上有效,但在 Ruby 上失败

ruby - 使用 rmagick 进行多语言文本

xpath - 无法在 Selenium 中获取第 n 个节点

javascript - selenium js单击元素直到文本不相等

java - 在 Java 中是否可以做 mixin、alias(in ruby​​) 之类的事情?

ruby - 我如何 "Inherit"一个 Ruby 模块来创建另一个模块?

java - 我想动态更新 gui.properties 文件的键值对

ruby-on-rails - 尝试从 Rails 控制台使用 JSON 语法测试 HTTP 请求

ruby-on-rails - RSpec 在 controller_spec 中将对象作为参数传递

rspec - 如何在不启用旧语法的情况下取消 rspec 3 中的 stub ?