Java+Selenium3方法篇20-浏览器退出quit和close的区别

来源:互联网 发布:资管业务 知乎 编辑:程序博客网 时间:2024/06/07 06:51

      本文介绍webdriver中关于浏览器退出操作。driver中有两个方法是关于浏览器关闭,一个叫quit,一个叫close。先来看看看两者的声明描述,请看下面声明文档。

  /**   * Close the current window, quitting the browser if it's the last window currently open.   */  void close();  /**   * Quits this driver, closing every associated window.   */  void quit();
       从上面描述,可以知道,close方法是,关闭当前窗口,这个当前,如何理解,就是driver实例操作的页面,叫当前。如果当前窗口只有一个tab,那么这个close方法就相当于关闭了浏览器。quit方法就是直接退出并关闭所有关联的tab窗口。所以,close方法一般关闭一个tab,quit方法才是我们认为的完全关闭浏览器方法。为了证明这个,我们用一个例子去演示。

package lessons;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;public class FindElement_LinkText {public static void main(String[] args) throws Exception {System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");WebDriver driver = new ChromeDriver();driver.manage().window().maximize();driver.get("https://www.baidu.com");//By linkText 查找元素driver.findElement(By.partialLinkText("设为主页")).click();Thread.sleep(1000);driver.close();//driver.quit();}}
       通过切换注销最后两行代码,分别运行,观察这两种方法的实际效果。当使用close方法的时候,由于driver停留在百度首页,所以这个时候关闭了百度首页这个tab,如何设置首页并没有关闭。因为如何设置首页,driver并没有切换到这个页面,所以不影响。如果使用quit方法,整个浏览器都直接关闭。

      一般来说,我们在自动化测试脚本运行完之后,需要恢复到干净环境,所以,一般都采用driver.quit()来直接关闭浏览器。

阅读全文
1 0
原创粉丝点击