diff --git a/lib/capybara/selenium/driver.rb b/lib/capybara/selenium/driver.rb index 3da2cfaaa..3f815d3b8 100644 --- a/lib/capybara/selenium/driver.rb +++ b/lib/capybara/selenium/driver.rb @@ -152,6 +152,8 @@ def quit @browser.quit if @browser rescue Errno::ECONNREFUSED # Browser must have already gone + ensure + @browser = nil end def invalid_element_errors diff --git a/spec/selenium_spec.rb b/spec/selenium_spec.rb index 6b94d5905..57e0628fa 100644 --- a/spec/selenium_spec.rb +++ b/spec/selenium_spec.rb @@ -57,3 +57,20 @@ module TestSessions end end end + +describe Capybara::Selenium::Driver do + before do + @driver = Capybara::Selenium::Driver.new(TestApp, browser: :firefox) + end + + describe '#quit' do + it "should reset browser when quit" do + @driver.browser.should be + @driver.quit + #access instance variable directly so we don't create a new browser instance + @driver.instance_variable_get(:@browser).should be_nil + end + end +end + +