LoginSignup
6

More than 5 years have passed since last update.

Protractorでスクロール関連のテスト

Last updated at Posted at 2015-02-05

AngularJSのE2Eテストフレームワーク、Protractorをつかって、ウィンドウのスクロール位置や、要素の位置とかを取得する方法です。

ウィンドウのスクロール量を取得

jQueryでいう、scrollTop()を取得したい場合です。

getPosition()というメソッドを最初使ったのですが、これはウィンドウそのものの位置で、スクロール位置ではないようなので注意です。

結果として以下の様なコードを書きました。executeScriptでJavascriptを実行、終了したら値をとっているだけです。これについてはもっとよい方法があるような。

script.coffee
browser.executeScript('return document.body.scrollTop;').then (scrollTop) ->
    window_scroll_position = scrollTop

要素の位置を取得

要素の位置を取得するには以下のようにします。

script.coffee

element.all(By.css(".someclass")).getLocation().then (someclass_data) ->
    someclass_position_y = someclass_data[0].y
    someclass_position_x = someclass_data[0].x

getLocation()というメソッドを使って取得可能です。位置を取得するのを待つためにthenを使います。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6