これらの違いは何ですか
Webdriver.Close()
Webdriver.Quit()
Webdriver.Dispose()
どちらをいつ使用するか?
これらの違いは何ですか
Webdriver.Close()
Webdriver.Quit()
Webdriver.Dispose()
どちらをいつ使用するか?
Close()
- 現在フォーカスがあるブラウザまたはページを閉じるために使用されます。
Quit()
- Web ドライバー インスタンスをシャットダウンするか、Web ドライバー インスタンスを破棄する (すべてのウィンドウを閉じる) ために使用されます。
Dispose()
- この方法を知りません。
driver.close
とdriver.quit
は、Selenium WebDriver でブラウザー セッションを閉じるための 2 つの異なる方法です。両方を理解し、各メソッドをいつ使用するかを知ることは、テストの実行において重要です。したがって、私はこれらの両方の方法に光を当てようとしました。
driver.close
- このメソッドは、フォーカスが設定されているブラウザ ウィンドウを閉じます。このメソッドはおなじみの名前ですが、インターフェイスを実装してWebDriver
いません。AutoCloseable
driver.quit
– このメソッドは基本的driver.dispose
に、すべてのブラウザ ウィンドウを閉じて WebDriver セッションを正常に終了する内部メソッドを呼び出します。
driver.dispose
- 前述のように、別の回答に従って静かに削除された WebDriver の内部メソッドです - 検証が必要です。前の方法のいずれかがほとんどのユース ケースで機能するため、このメソッドには通常のテスト ワークフローでのユース ケースは実際にはありません。
使用例の説明:driver.quit
プログラムを終了したいときはいつでも使用する必要があります。開いているすべてのブラウザ ウィンドウを閉じ、WebDriver セッションを終了します。プログラムの最後に使用driver.quit
しないと、WebDriver セッションが正しく終了せず、ファイルがメモリから消去されません。これにより、メモリ リーク エラーが発生する可能性があります。
上記の説明は、 WebDriverのdriver.close
とメソッドの違いを説明するはずです。driver.quit
お役に立てば幸いです。
次の Web サイトには、セレンのテストに関するヒントがいくつかあります:リンク
quit()
: このドライバーを終了し、開いていたすべての関連ウィンドウを閉じます。
close()
: 現在のウィンドウを閉じ、現在開いている最後のウィンドウである場合はブラウザーを終了します。
close():- 同じドライバー インスタンスで複数のブラウザー ウィンドウを開いたとします。ドライバー インスタンスで close() を呼び出すと、ドライバー インスタンスが指している現在のウィンドウが閉じます。ただし、ドライバー インスタンスは引き続きメモリに残り、開いている他のブラウザー ウィンドウを処理するために使用できます。
quit():- ドライバ インスタンスで quit() を呼び出し、1 つ以上のブラウザ ウィンドウが開いている場合、開いているすべてのブラウザ ウィンドウが閉じられ、ドライバ インスタンスはガベージ コレクション、つまりメモリから削除されます。そのため、quit() を呼び出した後、このドライバー インスタンスを使用して他の操作を行うことはできません。実行すると、例外がスローされます。
dispose():- WebDriver インスタンスの dispose メソッドはないと思います。
参照用に、このセレンの公式 Java docリンクにアクセスできます。
Selenium WebDriver
WebDriver.Close()
このメソッドは、現在開いているウィンドウを閉じるために使用されます。ドライバーがフォーカスしている現在開いているウィンドウを閉じます。
WebDriver.Quit()
このメソッドは、WebDriver のインスタンスを破棄するために使用されます。そのドライバーに関連付けられているすべてのブラウザー ウィンドウを閉じて、セッションを安全に終了します。WebDriver.Quit() は Dispose を呼び出します。
WebDriver.Dispose()
このメソッドは、すべてのブラウザ ウィンドウを閉じて、セッションを安全に終了します
私の理解ではdriver.close();
、現在のブラウザーを閉じ、driver.quit();
そのすべてのブラウザーを終了します。