首页 > 代码库 > webdriver 窗口切换
webdriver 窗口切换
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/
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。