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中的方法。
致力于软件测试技术提高,你的点赞、评论和转发,是对我莫大的鼓励!
版权声明:本文标题:浏览器窗口怎么保持窗口最前_selenium自动化测试:浏览器窗口处理方法集锦 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1768021162a3526876.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论