Selenium webdriver provides two methods for closing a browser window – driver.close() and driver.quit(). Some people incorrectly use them interchangeably but the two methods are different. In this post, we will study the difference between the two and also see where to use them effectively.
Content
driver.close()
The driver.close() command is used to close the current browser window having focus. In case there is only one browser open then calling driver.close() quits the whole browser session.
Usability
It is best to use driver.close() when we are dealing with multiple browser tabs or windows e.g. when we click on a link that opens another tab. In this case after performing required action in the new tab, if we want to close the tab we can call the driver.close() method.
//Closing the tab
driver.close();
driver.quit()
The driver.quit() is used to quit the whole browser session along with all the associated browser windows, tabs and pop-ups.
Usability
It is best to use driver.quit() when we no longer want to interact with the driver object along with any associated window, tab or pop-up. Generally, it is one of the last statements of the automation scripts. In case, we are working with Selenium with TestNG or JUnit, we call driver.quit() in the @AfterSuite method of our suite. Thus, closing it at the end of the whole suite.
@AfterSuite
public void tearDown() {
driver.quit();
}
That’s all we have in this post, comment below if you have any queries. check our complete selenium tutorial here.
Tell me the scenario where we can use the the driver.close() in our project.
We can use driver.close() while dealing with multiple windows e.g. when you click on a link during automation and the link opens in a new tab. In that case, you can use driver.close() to close that particular tab or window.
If we want to close or delete temporary files which one we can use? driver.close() or driver.quit()
driver. quit()
driver.quit();
Hello artoftesting.com administrator, Thanks for the informative and well-written post!
what happens if we use both driver.close() and driver.quit() simultaneously
Null pointer exception for 2nd statement