Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Teamcapybara Capybara Capybara Reset Sessions

From Leeroopedia
Knowledge Sources
Domains Testing, Session_Management
Last Updated 2026-02-12 00:00 GMT

Overview

Concrete tool for resetting all Capybara sessions and restoring the default driver, provided by Capybara.reset_sessions! and Capybara.use_default_driver.

Description

Capybara.reset_sessions! iterates the session pool in reverse order (so sessions that started servers are reset last), calling Session#reset! on each. Session#reset! delegates to driver.reset! (which clears cookies, navigates away from the current page), resets the scope stack, and waits for pending server requests before raising any captured server errors.

Capybara.use_default_driver sets current_driver to nil, causing it to fall back to default_driver.

Usage

Called automatically by the RSpec after hook. Call manually when implementing custom test framework hooks or when you need a clean session mid-test.

Code Reference

Source Location

  • Repository: capybara
  • File: lib/capybara.rb (L325-329 for reset_sessions!, L282-284 for use_default_driver), lib/capybara/session.rb (L130-141 for Session#reset!)

Signature

# Module-level methods
Capybara.reset_sessions!     # -> nil
Capybara.use_default_driver  # -> nil

# Session instance method
Capybara::Session#reset!     # -> nil
# Aliases: cleanup!, reset_session!

Import

require 'capybara'

I/O Contract

Inputs

Name Type Required Description
(none) No parameters; operates on global session pool

Outputs

Name Type Description
Clean sessions Side effect All sessions reset: cookies cleared, page blank, driver state clean
Default driver Side effect current_driver set to nil (falls back to default_driver)

Usage Examples

Manual Cleanup

# In a custom after hook
after(:each) do
  Capybara.reset_sessions!
  Capybara.use_default_driver
end

Mid-Test Reset

scenario 'multi-user interaction' do
  sign_in_as(:admin)
  visit '/admin/dashboard'
  Capybara.reset_sessions!  # clean slate for next user

  sign_in_as(:user)
  visit '/user/profile'
end

Related Pages

Implements Principle

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment