所以,关于使用Capybara和RSpec的集成测试,我知道我可以这样做: 对于特定的RSpec测试, 如何在 Rspec (Selenium)中设置浏览器窗口大小 ,但有没有办法全局执行此操作,以便受媒体查询影响的每个测试都不必定义此项? ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
似乎很难实现一些简单的操作,例如更改运行Capybara + webdriver的浏览器窗口
我正在针对外部网站进行测试。 我想要的是最大化浏览器窗口。 我在网络上发现了许多提示,但似乎无济于事。 要复制的最少代码是:
require 'capybara'
require 'selenium-webdriver'
session = Capybara::Session.new(:selenium)
window = Capybara.current_session.current_window
window.resize_to(1920,1080)
sleep(10)
结果是
Traceback (most recent call last):
5: from C:/src/Ruby/Capybara/minimal.rb:5:in `<main>'
4: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/capybara-3.9.0/lib/capybara/session.rb:426:in `current_window'
3: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/capybara-3.9.0/lib/capybara/session.rb:102:in `driver'
2: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/capybara-3.9.0/lib/capybara.rb:519:in `block in <top (required)>'
1: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/capybara-3.9.0/lib/capybara.rb:519:in `new'
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/capybara-3.9.0/lib/capybara/rack_test/driver.rb:18:in `initialize': rack-test requires a rack application, but none was given (ArgumentError)
有任何想法吗?
您正在创建一个会话,但是随后从另一个会话在窗口上调用了resize。 另一个会话是使用默认驱动程序(机架测试)自动生成的会话,该驱动程序根本不支持Windows。 如果要通过手动创建的会话执行此操作,则只需
session = Capybara::Session.new(:selenium)
session.current_window.resize_to(1920,1080)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.