5

アプリがスレッド ページ内の特定の投稿にスクロールしたかどうかをテストしたいと考えています。

最初は役立つかもしれないと思っisDisplayedて、次のようにコーディングしました。

element(by.id(postId)).isDisplayed().then((isDisplayed) => {
  expect(isDisplayed).toBe(true);
});

ドキュメントをよく読んだ後、isDisplayed要素がビューポート内にあるかどうかをチェックしません。

ハッキーな方法は、スクロール可能な親から始めて、さまざまな要素の位置を計算することです (これはwindow私の場合ではありません)。

これを確認するためのベストプラクティスはありますか?

4

1 に答える 1

3

最初のアイデア(あなたが言及した):

el.getWindowMyRect().isInsideMyRect(getWindowMyRect())

この方法では、ページ内の内部スクロールの問題は解決しません


2番目のアイデア:

  • elm.getBoundingClientRect()値に注意してください
  • 必要に応じて要素までスクロールします。 browser.executeScript("arguments[0].scrollIntoViewIfNeeded();", elm.getWebElement());
  • elm.getBoundingClientRect()- 値が変更されている場合は、再度前の値と比較し、スクロールが必要でした
于 2018-12-28T11:12:48.173 に答える