初めに
疑問に思ったことや上手くいかなかったことのアウトプットをしています。
自分なりの理解でアウトプットしていきます。初学者なので誤りもあると思います。
その際はご指摘いただけると幸いです。
疑問
例えば以下のようなビューのコードがあったとします。
<p>
<%= link_to 'Example', example_tasks_path(@exmample), target:'_blank', rel: 'noopener' %>
</p>
これはリンクボタンを押したとき、別窓が開くコードです。
このビューにまずvisitしてからclick_linkで'Example'を押した場合、
RSpecが判定するのはどちらの窓になるのでしょうか。
調べた結果
デフォルトではリンクを押したビューを操作します。リンクで開いた窓を判定しようとしたらエラーがでます。
リンク先を操作するには
Capybaraにはウインドウを操作するメソッドがあるので、windowメソッドを使って切り替えます。
例えばこうです
within_window(windows.last) do