Wie kann ich Capybara-Sitzungen zwischen Tests wiederverwenden?

Ich möchte weiterhin dieselbe Sitzung verwenden und damit meine ich die Rails-Sitzung zwischen verschiedenenTest::Unit Integrationstests, die Capybara verwenden. DasCapybara::Session Das Objekt ist in allen Tests das gleiche wie bei der Wiederverwendung. Wenn ich jedoch in einem anderen Test auf eine andere Seite zugreife, werde ich sofort abgemeldet.

Ich habe das gefundencapybara_session.driver.browser.manage.all_cookies wird zwischen einem Test und dem nächsten gelöscht.

Irgendwelche Ideen wie? oder warum? oder wie vermeide ich es?

Um das zu umgehen, habe ich das Cookie in einer Klassenvariablen gespeichert und später mit folgendem Befehl neu hinzugefügt:

capybara_session.driver.browser.manage.add_cookie(@@cookie)

und es scheint zu funktionieren, der Cookie ist da, aber wenn es eine Anfrage gibt, wird der Cookie durch einen anderen ersetzt, so dass er keine Wirkung hat.

Gibt es eine andere Möglichkeit, dies zu erreichen?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage