スクロール終端位置の検出の最適化

スクロールを伴うコマンド(scrollToEnd, selectWithScrollDown, canSelectWithScrollDownなど)を呼び出した場合 Shiratesはスクロールの終了位置を自動で検出します。追加の情報を与えると実行時間の短縮につながります。

end-elements

画面ニックネームファイルにおいてスクロールの終了時に存在する要素を記述することができます。

スクロールを伴うコマンドはこれらの追加情報を使用してスクロールの終端位置を検出します。

[Android Settings Top Screen].json

...
    "[Tips & support]": "",
    "{Tips & support}": "[Tips & support]:label",
    "[Tips & support Icon]": "[Tips & support]:leftImage"
  },

  "scroll": {
    "start-elements": "",
    "end-elements": "[Tips & support]"
  }
}

注意: カンマを使用して複数のニックネームを指定できます。

    "end-elements": "[Tips & support],[About phone]"

ScrollToEdge1.kt

(kotlin/tutorial/inaction/ScrollToEdge1.kt)

@Order(10)
@Test
fun scrollToBottom_scrollToTop() {

    scenario {
        case(1) {
            condition {
                it.macro("[Android Settings Top Screen]")
            }.action {
                it.scrollToBottom()
            }.expectation {
                it.exist("{Tips & support}")
            }
        }
        case(2) {
            action {
                it.scrollToTop()
            }.expectation {
                it.exist("[Network & internet]")
            }
        }
    }
}

比較

end-elementsを指定しない場合

end-elementsを指定した場合

Link