ChromeDriverService

本文介绍了如何通过ChromeDriverService来控制ChromeDriver进程,以避免在大规模测试套件中频繁启动关闭导致的延时和浏览器进程残留问题。使用ChromeDriverService可以实现用完即关闭,提高测试效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

普通启动方式

System.setProperty("webdriver.chrome.driver", "Driver路径");
WebDriver driver = new ChromeDriver();
driver.get("http://www.baidu.com/"); 

ChromeDriverService

执行以上代码你会发现ChromeDriver仅是在创建是启动,调用quit时关闭浏览器。
ChromeDriver是轻量级的服务若在一个比较大的测试套件中频繁的启动关闭,会增加一个比较明显的延时导致浏览器进程不被关闭的情况发生,为了避免这一状况我们可以通过ChromeDriverService来控制ChromeDriver进程的生死,达到用完就关闭的效果避免进程占用情况出现(Running the server in a child process)。

ChromeDriverService service = new ChromeDriverService.Builder() .usingChromeDriverExecutable(new File("Driver路径")).usingAnyFreePort().build();
service.start();
driver = new ChromeDriver();
driver.get("http://www.baidu.com");
driver.quit();
// 关闭 ChromeDriver 接口
service.stop();

或者

public static voidmain(String[] args) throws IOException {

// 创建一个 ChromeDriver 的接口,用于连接 Chrome
ChromeDriverService service = newChromeDriverService.Builder().usingDriverExecutable(
newFile("Driver路径")) .usingAnyFreePort().build();
service.start();
// 创建一个 Chrome 的浏览器实例
WebDriver driver = newRemoteWebDriver(service.getUrl());
// 让浏览器访问 Baidu
driver.get("http://www.baidu.com");
// 用下面代码也可以实现
//driver.navigate().to("http://www.baidu.com");
// 获取 网页的 title
System.out.println(" Page title is: " +driver.getTitle());
// 通过 id 找到 input 的 DOM
WebElement element =driver.findElement(By.id("kw1"));
// 输入关键字
element.sendKeys("zTree");
// 提交 input 所在的 form
element.submit();
// 通过判断 title 内容等待搜索页面加载完毕,间隔秒
(new WebDriverWait(driver, 10)).until(newExpectedCondition() {
publicBoolean apply(WebDriver d) {
returnd.getTitle().toLowerCase().startsWith("ztree");
}
});
// 显示搜索结果页面的 title
System.out.println(" Page title is: " +driver.getTitle());
// 关闭浏览器
driver.quit();
// 关闭 ChromeDriver 接口
service.stop();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值