ProtractorでElementsを走査する

Protractorで要素に対して処理をリピートしたいときのメモ。
ぐぐってもangularjsのng-repeatに対するものしかなかったので・・・。

結論

mapを使う。

e.g.

table  
    tbody
        tr
            td aaa
            td bbb
            td ccc
        tr
            td ddd
            td eee
            td fff
it "テーブルの配列を取得する",()->  
    element.all(By.xpath('//table/tbody/tr")).map((tr)->
        return tr.all(By.css("td")).map((td)->
            return td.getText()
        )
    ).then (rows)->
        console.log rows #テーブルが2次元配列になってる!

result
[["aaa","bbb","ccc"],["ddd","eee","fff"]]

参考:https://github.com/angular/protractor/issues/877