Чтобы иметь окно частного режима и окно не частного режима, вам необходимо иметь два сеанса и две регистрации драйверов.В текущих версиях Capybara, selenium-webdriver и Firefox с ручным управлением сеансами это можно сделать как
Capybara.register_driver :selenium_firefox_private do |app|
firefox_options = ::Selenium::WebDriver::Firefox::Options.new
firefox_options.args << "-private"
Capybara::Selenium::Driver.new(app, browser: :chrome, options: firefox_options)
end
, а затем в тесте, когда вам нужно личное окно, вы создадите новые сеансы дляличное окно
# Assuming you already have a session going and are interacting with the page
# with `Capybara.javascript_driver = :selenium` or equivalent set
page.find(...) # everything called on page is happening in the original non-private session
private_session = Capybara::Session.new(:selenium_firefox_private, Capybara.app)
private_session.visit(...) # anything called on private_session will happen in the private firefox instance
Другой вариант будет использовать Capybaara.using_driver
Capybara.using_driver(:selenium_chrome_private) do
# everything in this block would happen in a private browsing session that is auto created by Capybara (if it hadn't already been created)
page.visit('/')
end
То же самое верно для устаревших версий, которые вы используете, но конфигурация Selenium в регистрации драйвера будетвероятно, будет другим.