2017-03-29 5 views
2

WebDriver.findBy(...)のようなパフォーマンスの影響を理解しようとしています。SeleniumはDOMをどこに格納しますか?

WebElement betty = webDriver.findBy(By.id("betty")); 

セレンライブラリ

a)のJVM内のDOMを評価するために持っている:例えば私は、地元のクロームのインスタンスを駆動するためのセレンを使用していた場合は?

b)ローカルのChromeドライババイナリにアクセスして評価しますか?

c)評価するブラウザのインス​​タンスに移動しますか?

回答はGridの状況で変更されますか?

答えて

3

私はこれを説明するnice technical guideを見つけました。

ブラウザドライバが待機連続 新しいセレンためを命令HTTP SERVER使用します。

それは、次の目的があります

  • (テスト自動化スクリプトを実行し、クライアント=コンピュータ)クライアントからのHTTPリクエストを読ん

  • は、セレンを実装するために必要な一連のステップを決定コマンド

  • は、実行手順をブラウザに送信します。
  • は、ブラウザから実行ステータスを取得します。
  • 、クライアントに自動化スクリプトの各セレンコマンド、特定のパスが作成されると、HTTP要求のために

を実行ステータスを送信します。

自動化スクリプトが実行されると、最初のhttp要求によって、自動化スクリプトが実行されるブラウザに固有の新しいセッションが生成されます。

セッションIDは、オートメーションスクリプトの他のすべての Seleniumコマンドに対応するHTTP要求に使用されます。

+0

優れたもの! – DebanjanB

+0

素晴らしい発見、ありがとう。要約すると、キャッシングはありません。私たちは、そのような種類の操作のために、ドライバを介してブラウザにネットワーク経由で(ローカルでもリモートにも)行きます。 – markdsievers

+0

@marksieversはい。 DOMがキャッシュされていた場合、暗黙的で明示的な待機はすべての意味を失います。 – Guy

関連する問題