capybara + seleniumドライバで画面外のクリックが動作しない問題

seleniumドライバを使ってテストを実行すると、実際にFirefoxが起動して、その中で操作が行われる。

このとき、Firefoxの表示域より下にスクロールしないと表示されないような位置のリンクは、

のようにしても、リンクが表示されるところまでスクロールするだけで、実際にはクリックされない。

 

idを設定して、そこに対してvisit “#footer”したり

http://stackoverflow.com/questions/4424790/cucumber-capybara-scroll-to-bottom-of-page

 

seleniumのfocusメソッドを呼び出せるならまずリンクをクリックするよりも先にフォーカスして表示しておくとか

https://github.com/jnicklas/capybara/issues/239

 

といったことをしないといけないのがseleniumドライバの現状だったりするようだ。

 
 

私の場合、リンクをクリックしたら別のページに移動するものだということを前提に考えて、click_first_linkなるメソッドを作成することにした。

コメントを残す

トラックバック: http://pgnote.net/wp-trackback.php?p=2068