admin 管理员组

文章数量: 1184232

我们在使用selenium进行自动化测试调试脚本的过程中,经常会对浏览器窗口进行处理,小编对工作中常用的方法进行了总结,希望能帮助到大家。

浏览器窗口

1、 如何判断浏览器打开了一个新窗口?

(1)定义当前窗口的句柄集合

Set handlesbefore = driver.getWindowHandles();

(2)进行某步操作后,再次取当前窗口的句柄集合,并与之前的句柄集合进行比较,如果两者相同,则说明未打开新窗口

driver.getWindowHandles().equals(handlesbefore)

2、 怎样跳转到新窗口中去?

(1) 定义当前窗口的句柄集合

(2) 使用foreach语法进行遍历,取到每一个窗口句柄,并查看该窗口的url地址是否包含目标信息即"title",找到包含目标信息的窗口后,进行跳转。

Set handles = driver.getWindowHandles();

for(String hanlde:handles) {

if(driver.switchTo().window(hanlde).getTitle().contains("title")) {

driver.switchTo().window(hanlde);

}

}

可将该方法进行封装,传入driver,title信息即可调用

public static void switchToWindow(WebDriver driver,String title) {

Set handles = driver.getWindowHandles();

for(String hanlde:handles) {

if(driver.switchTo().window(hanlde).getTitle().contains(title)){

driver.switchTo().window(hanlde);

}

}

}

3、 关闭某个窗口后,怎么继续操作?

使用driver.close()关闭窗口后,可使用跳转新窗口的方法,重新获得需要操作的窗口句柄。

driver.close();

switchToWindow(driver,"目标title");

注意:此处调用的switchToWindow方法,用的就是问题2中的方法。

致力于软件测试技术提高,你的点赞、评论和转发,是对我莫大的鼓励!

本文标签: 窗口 浏览器 集锦 测试 方法