水豚:如何改变 window 大小?
Capybara: How to change window size?
似乎很难实现像更改浏览器这样简单的事情window 运行 Capybara + webdriver
我正在针对外部网站进行测试。
我想要的是最大化我的浏览器window。
我在网上找到了很多提示,但似乎没有任何效果。要重现的最少代码是:
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)
有什么想法吗?
您正在创建一个会话,但随后从另一个会话对 window 调用调整大小。另一个会话是使用默认驱动程序 (rack-test) 自动生成的会话,它根本不支持 windows。如果你想用你手动创建的会话来做到这一点,它只是
session = Capybara::Session.new(:selenium)
session.current_window.resize_to(1920,1080)
似乎很难实现像更改浏览器这样简单的事情window 运行 Capybara + webdriver
我正在针对外部网站进行测试。 我想要的是最大化我的浏览器window。 我在网上找到了很多提示,但似乎没有任何效果。要重现的最少代码是:
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)
有什么想法吗?
您正在创建一个会话,但随后从另一个会话对 window 调用调整大小。另一个会话是使用默认驱动程序 (rack-test) 自动生成的会话,它根本不支持 windows。如果你想用你手动创建的会话来做到这一点,它只是
session = Capybara::Session.new(:selenium)
session.current_window.resize_to(1920,1080)