zoukankan      html  css  js  c++  java
  • webdriver 窗口切换

    1.通过浏览器的句柄来操纵窗口,得到句柄的方法

    	public String getWindowHandle(){
    		String currentWindow = driver.getWindowHandle();
    		return currentWindow;
    	}
    

      

    2.切换到最新的窗口

        public void switchToNewWindow(){
    	    //得到当前句柄
    	String currentWindow = driver.getWindowHandle();
            //得到所有窗口的句柄
            Set<String> handles = driver.getWindowHandles();
            
            //排除当前窗口的句柄,则剩下是新窗口
            Iterator<String> it = handles.iterator();
            while(it.hasNext()){
            	if(currentWindow == it.next())  continue;
            	driver.switchTo().window(it.next());       
            }
            
    	}
    

    3.切换到特定的窗口

     

    	public void switchToOneWindow(String windowHandle){
    		driver.switchTo().window(windowHandle);
    	}
    

      

    4.举例:

    打开页面A,点击A页面的链接在新窗口打开页面B,验证B页面后关闭之,转回到A页面

                    open("URLA");//打开页面A
                    String w1 = getWindowHandle(); //得到页面A的句柄
    
    		assertTrue(isElementPresent("//*[contains(.,'欢迎来到')]"),"首页打开失败"); //校验A页面元素
    		
    		stepInfo("3.点击链接");
    		clickByLink("URLB");
    		switchToNewWindow();//切换到页面B
    		assertTrue(isElementPresent("//*[contains(.,'您好,欢迎来到')]"),"打开失败");
    		close();//关闭页面B
    
    		switchToOneWindow(w1); //返回A
    

     注:上面的open, clickByLink, close都是封装了webDriver操作的方法,比较简单的

    	public void open(String url){
    		driver.get(url);
    	}
    
    
    	public void clickByLink(String text){
    		driver.findElement(By.linkText(text)).click();
    	}
    
    	public void close(){
    		driver.close();
    	}
    

      

    欢迎光临娇娇家的美衣阁 http://shop105984718.taobao.com/

  • 相关阅读:
    springboot定时任务框架Quartz
    Linux中安装Erlang
    prometheus常用函数详解
    Prometheus+Grafana+SpringBoot业务埋点可视化监控
    Prometheus+Grafana可视化监控SpringBoot项目
    prometheus的数据类型介绍
    DS:顺序栈
    DS:顺序队列
    Linux:06进程
    primer5:chap09顺序容器
  • 原文地址:https://www.cnblogs.com/joewu/p/3718721.html
Copyright © 2011-2022 走看看