Fix issue #1237 so browser doesn't intialize during session reset
This commit is contained in:
parent
9af20821c7
commit
5665396fc9
|
@ -133,4 +133,8 @@ class Capybara::Driver::Base
|
||||||
def needs_server?
|
def needs_server?
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def browser_initialized?
|
||||||
|
true
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -86,6 +86,10 @@ class Capybara::RackTest::Driver < Capybara::Driver::Base
|
||||||
@browser = nil
|
@browser = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def browser_initialized?
|
||||||
|
!@browser.nil?
|
||||||
|
end
|
||||||
|
|
||||||
def get(*args, &block); browser.get(*args, &block); end
|
def get(*args, &block); browser.get(*args, &block); end
|
||||||
def post(*args, &block); browser.post(*args, &block); end
|
def post(*args, &block); browser.post(*args, &block); end
|
||||||
def put(*args, &block); browser.put(*args, &block); end
|
def put(*args, &block); browser.put(*args, &block); end
|
||||||
|
|
|
@ -237,6 +237,10 @@ class Capybara::Selenium::Driver < Capybara::Driver::Base
|
||||||
Selenium::WebDriver::Error::NoSuchWindowError
|
Selenium::WebDriver::Error::NoSuchWindowError
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def browser_initialized?
|
||||||
|
!@browser.nil?
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def within_given_window(handle)
|
def within_given_window(handle)
|
||||||
|
|
|
@ -101,7 +101,7 @@ module Capybara
|
||||||
def reset!
|
def reset!
|
||||||
if @touched
|
if @touched
|
||||||
driver.reset!
|
driver.reset!
|
||||||
assert_no_selector :xpath, "/html/body/*"
|
assert_no_selector :xpath, "/html/body/*" if driver.browser_initialized?
|
||||||
@touched = false
|
@touched = false
|
||||||
end
|
end
|
||||||
raise_server_error!
|
raise_server_error!
|
||||||
|
|
Loading…
Reference in New Issue