私はcapybara 2.13の機能仕様のレール5アプリを持っています。 1つの仕様は、アプリケーション内のコールバックパスへのリダイレクトURLを含む3つの部分からなるトランザクションフローを完成させます。セッションのトランザクションIDをsession[:current_transaction_id]
として保存してから、コールバックを処理するときにトランザクションをルックアップするためにこのIDを使用します。これは開発には問題ありませんが、capybaraでテストすると、session
ハッシュはなくなっています:current_transaction_id
。capybaraセッションはapiコールバックで保存されていません
は私unsuccessfuly、私は与えられた仕様を通じて持続するセッションを取得できますかhttps://github.com/teamcapybara/capybara#using-sessions
Capybara.using_session("User session") do
# log in and complete a transaction
end
で説明したように、私のスペックをラップしようとしましたか?
カピバラス 'using_session'はあなたが求めている' session'を参照していません。これは、Capybaraによって使用されるブラウザまたはブラウザ/アプリのペアのインスタンスを指し、テスト中に2人の異なるユーザーを同時にアプリケーションに記録する必要がある場合(チャット、リアルタイムステータスの更新など)に一般的に使用されます。 Cookieベースのセッションを使用していますか?そうであれば、最初に訪問したドメイン(トランザクションIDを設定したドメイン)とリダイレクト先のドメイン(少なくともセッションCookieが設定されているレベル)は同じですか?あなたが質問にテストコードを追加している場合は、それを修正しないでください。 –
ドメインの問題でした。ありがとうございました! – HarlemSquirrel
あなたは歓迎されています。答えとして追加されたので、質問は完了したものとしてマークすることができます。 –