318

これらの違いは何ですか

  1. Webdriver.Close()
  2. Webdriver.Quit()
  3. Webdriver.Dispose()

どちらをいつ使用するか?

4

12 に答える 12

51

Close()- 現在フォーカスがあるブラウザまたはページを閉じるために使用されます。

Quit()- Web ドライバー インスタンスをシャットダウンするか、Web ドライバー インスタンスを破棄する (すべてのウィンドウを閉じる) ために使用されます。

Dispose()- この方法を知りません。

于 2013-02-25T12:58:11.043 に答える
37

driver.closedriver.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 サイトには、セレンのテストに関するヒントがいくつかあります:リンク

于 2015-09-08T00:38:27.513 に答える
15

quit(): このドライバーを終了し、開いていたすべての関連ウィンドウを閉じます。

close(): 現在のウィンドウを閉じ、現在開いている最後のウィンドウである場合はブラウザーを終了します。

于 2014-05-18T14:08:32.610 に答える
5

close():- 同じドライバー インスタンスで複数のブラウザー ウィンドウを開いたとします。ドライバー インスタンスで close() を呼び出すと、ドライバー インスタンスが指している現在のウィンドウが閉じます。ただし、ドライバー インスタンスは引き続きメモリに残り、開いている他のブラウザー ウィンドウを処理するために使用できます。

quit():- ドライバ インスタンスで quit() を呼び出し、1 つ以上のブラウザ ウィンドウが開いている場合、開いているすべてのブラウザ ウィンドウが閉じられ、ドライバ インスタンスはガベージ コレクション、つまりメモリから削除されます。そのため、quit() を呼び出した後、このドライバー インスタンスを使用して他の操作を行うことはできません。実行すると、例外がスローされます。

dispose():- WebDriver インスタンスの dispose メソッドはないと思います。

参照用に、このセレンの公式 Java docリンクにアクセスできます。

于 2017-09-21T06:34:14.027 に答える
3

Selenium WebDriver

  1. WebDriver.Close()このメソッドは、現在開いているウィンドウを閉じるために使用されます。ドライバーがフォーカスしている現在開いているウィンドウを閉じます。

  2. WebDriver.Quit()このメソッドは、WebDriver のインスタンスを破棄するために使用されます。そのドライバーに関連付けられているすべてのブラウザー ウィンドウを閉じて、セッションを安全に終了します。WebDriver.Quit() は Dispose を呼び出します。

  3. WebDriver.Dispose()このメソッドは、すべてのブラウザ ウィンドウを閉じて、セッションを安全に終了します

于 2016-05-31T11:28:11.460 に答える
1

私の理解ではdriver.close();、現在のブラウザーを閉じ、driver.quit();そのすべてのブラウザーを終了します。

于 2018-05-18T16:44:12.267 に答える