2016-12-09 4 views
2

selenium webdriver(javaコーディング)を初めて使用しています。私はウェブサイトを与えられており、すべてのページが正しくロードされているかどうかをチェックするためのスクリプトを書くように依頼されています。ページロードをチェックする方法がわかりませんでした。私の友人の一人は、ページの読み込み時に、ロードされた最後の要素を探し、その要素のwaitメソッドを使用してその要素が可視かどうかを調べるべきだと提案しました。50ページ以上ある場合のページの読み込み方法

私の質問は50ページ以上あります。各ページについて、私はwaitメソッドを使用して可視性をチェックする必要があります。時間がかかります。他の方法はありますか?

+1

50ページ全体を確認する必要がある場合は、それが唯一の方法です。通常、ページに表示されているコンテンツが正しいかどうかを確認します。 – Jobin

答えて

0

あなたは(全50ページ、一度に一つのために)、以下の手順に従うことによって、問題を解決することができます:

  1. をブラウザのレンダリングの最後に表示される要素を識別します。
  2. visibility_of_element_locatedを追加して、要素がWebページに表示されているかどうかを確認します。

要素の可視性のための待機:

element = WebDriverWait(driver, 10).until(
     EC.visibility_of_element_located((By.ID, "myDynamicElement")) # here, you can use any available locator of your choice, like, By.XPATH, BY.CLASS_NAME etc. 

これはTimeoutExceptionをスローする前に10秒まで待機するか、要素が表示されていることを発見した場合、0にそれを返すであろう - 10秒。 WebDriverWaitは、デフォルトで正常に返されるまで500ミリ秒ごとにExpectedConditionを呼び出します。成功した戻り値はExpectedCondition型です。ブール型の場合はtrue、それ以外のExpectedCondition型の場合はnull戻り値です。

したがって、10 secondsが要素が表示されているかどうかを実際に確認するのではありません。要素がページに表示されると、メソッドはすぐに10 secondsに戻ります。

注:10 secondsは設定可能です。

0

視覚検査の方向性があり、そのために設計されていない純粋なセレンがです。

あなたはセレンのための2つのアドオン試みることがあります。

1)Applitools(https://applitools.com/)、クラウドベースを、あなたは 例がhttps://eyes.applitools.com/app/Web/Deploy/Tutorial/tutorial.html

2ここで、自由のためにそれを試みることができる)または、(Sikuliを使用することができますhttp://www.sikuli.org/)、無料、ノンクラウド。

関連する問題