前回の続き
別ウィンドウを開いて、そのURLが合っているかどうかのテストをやろうとした
sample_steps.rb
step 'テスト画面が別Windowで表示されていること' do
handle = page.driver.browser.window_handles.last
page.driver.browser.within_window(handle) do
current_path.to eq(hoge_path(type: :fuga))
end
end
結果、一致してくれなかった・・・
expected: "/hoge?type=fuga"
got: "/hoge"
current_pathではgetパラメーターがくっついてないらしい。
ってことでpathをやめてurlに変更。
sample_steps.rb
step 'テスト画面が別Windowで表示されていること' do
handle = page.driver.browser.window_handles.last
page.driver.browser.within_window(handle) do
current_url.to eq(hoge_url(type: :fuga))
end
end
結果、惜しいw
expected: "http://www.example.com/hoge?type=automail"
got: "http://127.0.0.1:38333/hoge?type=automail"
最終的にうまくいったのは、こんなん↓
sample_steps.rb
step 'テスト画面が別Windowで表示されていること' do
handle = page.driver.browser.window_handles.last
page.driver.browser.within_window(handle) do
uri = URI.parse(current_url)
expect("#{uri.path}?#{uri.query}").to eq(hoge_path(type: :fuga))
end
end