【selenium3+JAVA】界面自动化测试教程(八)——切换窗口

有时候有多个窗口,测试的时候需要在这多个窗口中切换,可以用如下方法;

/**
     * 切换窗口
     * @param driver webDriver
     * @param windowsTitle 要切换到的windows的title
     * @return
     */
    public static boolean switchWindows(WebDriver driver, String windowsTitle) 
    {
    	//获取所有的窗口句柄
    	Set<String> handles = driver.getWindowHandles();
    	//获取当前窗口的句柄
    	String currentHandle = driver.getWindowHandle();
    	//获取当前窗口的title
    	String currentTitle = driver.getTitle();
    	//要切换窗口为当前窗口则直接返回true
    	if(currentTitle.equals(windowsTitle)) 
    	{
    		return true;
    	}
    	//处理要切换到的窗口非当前窗口的情况
    	for (String string : handles) 
    	{
    		//略过当前窗口
    		if(string.equals(currentHandle)) 
    		{
    			continue;
    		}
    		//切换并检查其title是否和目标窗口的title是否相同,是则返回true,否则继续
			if((driver.switchTo().window(string).getTitle()).equals(windowsTitle)) 
			{
				return true;
			}
		}
    	return false;
    }

猜你喜欢

转载自blog.csdn.net/df0128/article/details/82828428