コードを見つけました: page.driver.browser.switch_to.window
、明らかに既に開いているウィンドウに切り替えています。page.driver.browser オブジェクトを使用して新しいウィンドウを開くにはどうすればよいですか?
ありがとう
私はここにたどり着きました。古いスレッドであっても、誰かにとって役立つかもしれません。次のようなウィンドウを作成して使用できます。
new_window = open_new_window
switch_to_window new_window
また:
within_window new_window do
end
また、windows オブジェクトを介して新しいウィンドウを見つけることもできます。
open_new_window
new_window = windows.last
参考文献:
http://www.rubydoc.info/github/jnicklas/capybara/Capybara/Session:open_new_window
http://www.rubydoc.info/github/jnicklas/capybara/Capybara%2FSession%3Aswitch_to_window
https://github.com/teamcapybara/capybara#working-with-windows
私はこれを行うためにJavaScriptを使用することになりました:
When /^I open a new window for "([^"]*)"$/ do |url|
str =
<<END_TAG
window.open("#{url}", "window_name", "height=800,width=1000");
END_TAG
page.execute_script(str)
end