teamcapybara/capybara · error · Capybara::ExpectationNotMet
Timed out waiting for Selenium session reset
Error message
Timed out waiting for Selenium session reset
What it means
Error "Timed out waiting for Selenium session reset" thrown in teamcapybara/capybara.
Source
Thrown at lib/capybara/selenium/driver.rb:482
def setup_exit_handler
main = Process.pid
at_exit do
# Store the exit status of the test run since it goes away after calling the at_exit proc...
@exit_status = $ERROR_INFO.status if $ERROR_INFO.is_a?(SystemExit)
quit if Process.pid == main
exit @exit_status if @exit_status # Force exit with stored status
end
end
def reset_browser_state
clear_browser_state
@browser.navigate.to('about:blank')
end
def wait_for_empty_page(timer)
until find_xpath('/html/body/*').empty?
raise Capybara::ExpectationNotMet, 'Timed out waiting for Selenium session reset' if timer.expired?
sleep 0.01
# It has been observed that it is possible that asynchronous JS code in
# the application under test can navigate the browser away from about:blank
# if the timing is just right. Ensure we are still at about:blank...
@browser.navigate.to('about:blank') unless current_url == 'about:blank'
end
end
def accept_unhandled_reset_alert
@browser.switch_to.alert.accept
sleep 0.25 # allow time for the modal to be handled
rescue modal_error
# The alert is now gone.
# If navigation has not occurred attempt again and accept alert
# since FF may have dismissed the alert at first attempt.
navigate_with_accept('about:blank') if current_url != 'about:blank'View on GitHub (pinned to 15b5fdb76e)
When it happens
Trigger: Thrown at lib/capybara/selenium/driver.rb:482 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
AI-assisted analysis of teamcapybara/capybara@15b5fdb76e (2026-08-21).
Data as JSON: /api/errors/ce10ba05b0348f06.
Report an issue: GitHub.