diff --git a/lib/capybara/driver/selenium_driver.rb b/lib/capybara/driver/selenium_driver.rb index df2b2e852..726051046 100644 --- a/lib/capybara/driver/selenium_driver.rb +++ b/lib/capybara/driver/selenium_driver.rb @@ -163,7 +163,10 @@ def evaluate_script(script) def reset! # Use instance variable directly so we avoid starting the browser just to reset the session - @browser.manage.delete_all_cookies if @browser + if @browser + @browser.manage.delete_all_cookies + @browser.navigate.to('about:blank') + end end def within_frame(frame_id) diff --git a/lib/capybara/session.rb b/lib/capybara/session.rb index 3d4cd1adb..2790d3ccc 100644 --- a/lib/capybara/session.rb +++ b/lib/capybara/session.rb @@ -113,7 +113,8 @@ def source # @return [String] Path of the current page, without any domain information # def current_path - URI.parse(current_url).path + path = URI.parse(current_url).path + path if path and not path.empty? end ## diff --git a/lib/capybara/spec/session.rb b/lib/capybara/spec/session.rb index 550faef69..98c6083c7 100644 --- a/lib/capybara/spec/session.rb +++ b/lib/capybara/spec/session.rb @@ -75,7 +75,7 @@ def extract_results(session) @session.current_path.should == '/with_html' @session.reset! - @session.current_path.should == "" + @session.current_path.should be_nil end it "resets page body" do