rspecテスト内におけるタブ(ウィンドウ)の切り替え

実装方法

switch_to_window(windows.last)

概要

  • テストコード
describe ~~
  context ~~
    it ~~
      click_link ~~
  • クリック動作対象のコード
<a href="~~" target="_blank">

target="_blank"により、リンクがクリックされたら新規タブで開かれる。

しかしテストコード内では自動でタブの切り替えが行われないため、それ以降のテストの対象ページがclickしたページ(元いたページ)になってしまう。

そうならないようにちゃんとクリックによりできた新規タブに移動させる必要がある。

click ~~~
switch_to_window(windows.last)

click動作直後に記述。 これにより最後に開かれたすなわち新規タブに移動することができる。

seleniumのコードみたい。