2016-05-07 1 views
1

私はセレンのwebドライバにはとても新しいので、暗黙的で明示的な待機に関するすべての記事を読んでいます。私は本当にこの質問をもう一度投稿することを申し訳なく思っていますが、既存の投稿のいずれも私の質問に答えを出すものではありません。明示的な待機と同じように、暗黙的にDOMを500ミリ秒ごとにポーリングしますか?

私は明示的な待機の概念を理解することができますが、私が実際に理解していないのは次のような文です。「暗黙の待ち時間は、Webドライバに、それらがすぐに利用可能でない場合、要素または要素が含まれます。明示的な待機と同じように、Webドライバが500ミリ秒ごとにDOMをポーリングして要素が見つかるまで(正常に戻るまで)はいの場合、実行時間はどのように増加しますか?

PS:もう一度この質問を投稿していただき、私がお伝えしたように、さまざまな情報を提供する記事がたくさんあり、多くのことを混乱させます。

+0

あたりとして秒未満がhttp://stackoverflow.com/questions/10404160/when-to-use-explicit-を見てくださいどこいくつかありますwait-vs-implicit-wait-in-selenium-webdriver – TechDog

+0

@TechDog、暗黙の待ち時間全体を取るか、明示的な待ちと同じように正常に戻るときに停止しますか? – shank087

+0

私の理解によると、正常に戻ると停止します。 – TechDog

答えて

0

暗黙の待機は、ページ上の要素がすぐに表示されない場合に、ドライバが指定された時間待機するように強制します。したがって、暗黙の待機は、すぐには表示されないすべての要素に対して、指定された時間だけ暗黙的に待機し、実行時間を大幅に延ばします。指定された時間が経過すると、要素が可視であれば実行を開始します。暗黙の待機にポーリングはありません。

明示的に待機している間は、条件が満たされるまで待機します。条件が満たされると、待機を停止して実行を開始します。このタイプでは、条件を確認するために500ミリ秒間ポーリングします。

これはあなたの質問を明確にします。

0

私は暗黙の待機は、要素が画面に来るのに数秒かかる場合、私たちは大丈夫だと思っています。これは暗黙の待機のために置かなければならない時間です。暗黙のデフォルトの待ち時間はゼロです。宣言していなければ、要素が見つかりません。例外。 (以下のインターネットの速度、遅いアプリケーションの応答のためのより多くの秒を与えることがベター)

私たちは、暗黙の待機チェックが(あなたがポーリングを呼び出すことができます)連続DOMことを確認することができ、実質的に1つのシナリオ作成されました:

事後条件を実行しボタンを送信するなどの前の条件を実行せずにテキストを確認するようにします。スクリプトを通してボタンをクリックしていないので、セレニウムは要素を見つけることができませんが、要素が見つからない例外をスローせず、5分(暗黙の待機セット)が完了するのを待ちます。

次に、1分以内にボタンをクリックして、ウェブページのテキストを表示します。直ちに、そのステップはパスされ、残りの実行に先立って進められる。これは、暗黙の待機がDOMを断続的にポーリングしているか、要素をチェックするために5分待つ必要があることを確認します(しかし、それは起こらなかった)。

ポーリング間隔に来る - これが私の観察

関連する問題