WebDriver切换浏览器窗口

本文介绍如何使用WebDriver在多个浏览器窗口间进行切换的方法。通过获取所有窗口句柄并判断标题来定位特定窗口,适用于自动化测试场景。
WebDriver切换浏览器窗口 博客分类: java

当测试页面同时出现2个或者以上窗口时候,而且新打开的window没有namem,可以使用driver.switchTo().window(winHandleID)来进行切换,如下代码已经在IE8中测试通过:

 

 

//Store the current window handle
String winHandleBefore = driver.getWindowHandle();
		
//Switch to new window opened
for(String winHandle : driver.getWindowHandles()){
	    	System.out.println("+++" + winHandle);
	        driver.switchTo().window(winHandle);
	        }
// Close the original window
	    driver.switchTo().window(winHandleBefore);
	    driver.close();
	    
//Switch to new window opened
for(String winHandle : driver.getWindowHandles()){
	    	System.out.println("+++" + winHandle);
	        driver.switchTo().window(winHandle);
	        }

 

当最后只有一个窗口剩下的时候,应该可以直接使用

driver.switchTo().window(driver.getWindowHandle)

去选中新的窗口

 

 

public boolean switchToWindow(WebDriver driver,String windowTitle){
		boolean flag = false;
		try {
			String currentHandle = driver.getWindowHandle();
			Set<String> handles = driver.getWindowHandles();
			for (String s : handles) {
				if (s.equals(currentHandle))
					continue;
				else {
					driver.switchTo().window(s);
					if (driver.getTitle().contains(windowTitle)) {
						flag = true;
						System.out.println("Switch to window: "
								+ windowTitle + " successfully!");
						break;
					} else
						continue;
				}
			}
		} catch (NoSuchWindowException e) {
			System.out.println("Window: " + windowTitle
					+ " cound not found!", e.fillInStackTrace());
			flag = false;
		}
		return flag;
	}

  

转载于:https://my.oschina.net/xiaominmin/blog/1597907

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值