Ich möchte die gleiche Sitzung und damit meine ich Rails Sitzung zwischen verschiedenen Test::Unit
Integrationstests, die Capybara verwenden. Das Objekt Capybara::Session
ist in allen Tests dasselbe, da es wieder verwendet wird, aber wenn ich in einem anderen Test auf eine andere Seite zugreife, werde ich sofort ausgeloggt.Wie kann ich Capybara-Sitzungen zwischen den Tests erneut verwenden?
Digging in Ich fand, dass capybara_session.driver.browser.manage.all_cookies
zwischen einem Test und dem nächsten gelöscht wird.
Irgendwelche Ideen wie? oder warum? oder wie man es vermeidet?
capybara_session.driver.browser.manage.add_cookie(@@cookie)
und es scheint zu funktionieren, das Cookie ist da, aber wenn es eine Anfrage: später durch Ausführen
, dass die Arbeit-around Der Versuch, sparte ich das Cookie in einer Klassenvariablen und wieder hinzugefügt , der Cookie wird durch einen anderen ersetzt, also hatte er keine Wirkung.
Gibt es einen anderen Weg, dies zu erreichen?
Haben Sie jemals dieses Problem lösen? Ich treffe es und habe alle unten vorgeschlagenen Lösungen vergeblich versucht ... –