首页 > Web开发 > 详细

webdriver 窗口切换

时间:2014-05-09 23:27:07      阅读:491      评论:0      收藏:0      [点我收藏+]

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

1
2
3
4
public String getWindowHandle(){
    String currentWindow = driver.getWindowHandle();
    return currentWindow;
}

  

2.切换到最新的窗口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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.切换到特定的窗口

 

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

  

4.举例:

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

1
2
3
4
5
6
7
8
9
10
11
12
        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操作的方法,比较简单的

1
2
3
4
5
6
7
8
9
10
11
12
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/

webdriver 窗口切换,布布扣,bubuko.com

webdriver 窗口切换

原文:http://www.cnblogs.com/joewu/p/3718721.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!