您的位置:首页 > 产品设计 > UI/UE

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

2017-06-21 16:03 489 查看
      本文介绍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()来直接关闭浏览器。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: