在运行一个测试场景和另一个测试场景之间,默认的 Capybara 设置会打开空白页面并清除前一个场景中的 Cookie,从而消除第一个场景中记录的会话。
如何配置水豚不清除一种场景与另一种场景之间会话的cookie?
这些是我目前的设置
require 'capybara'
require 'capybara/cucumber'
require 'selenium-webdriver'
Capybara.configure do |config|
config.default_driver = :selenium_chrome
config.default_max_wait_time = 10
config.app_host = 'https://website.com'
end
只需配置数据目录:
Capybara.register_driver :chrome do |app|
options = Selenium::WebDriver::Options.chrome
options.add_argument('--user-data-dir=/user/chrome_data')
options.add_argument("--profile-directory=profile_selenium")
Capybara::Selenium::Driver.new(app, browser: :chrome, options:)
end
Capybara.default_driver = :chrome
您可能还想要:
options.add_argument('--disk-cache-size=1')
options.add_argument('--media-cache-size=1')
防止数据目录占用过多空间。
options.add_argument('--restore-last-session')
在会话之间保持打开的选项卡。