其他测试框架 webdriver tonewwindows 方法!

叶浩 · 2015年01月13日 · 最后由 思寒_seveniruby 回复于 2015年01月14日 · 1836 次阅读

该方法用于页面操作时需要跳转到新的窗口,具体用法见代码注释:

// ===================弹出新窗口跳转方法集=====================

//参数: newWindowsTitle  为跳转目标窗口的title  
    public boolean toNewWindows(String newWindowsTitle) {
        // String currentWindow = null;
        Set<String> handles = null;     
        WebDriver window = null;
        boolean t = false;
//该循环为遍历次数控制,当前设置为一共遍历5次,如果没有找到目标窗口,则结束遍历
        for (int i = 0; i < 5; i++) {
            // currentWindow = this.dr.getWindowHandle();// 获取当前窗口句柄
            handles = this.dr.getWindowHandles();// 获取所有窗口句柄
            Iterator<String> it = handles.iterator();
            while (it.hasNext()) {

                try {
                    window = this.dr.switchTo().window(it.next());// 切换到新窗口
                } catch (TimeoutException e) {
                    super.rpt(window.getTitle() + "  页面加载超过50秒  不等待加载完毕 继续执行");
                }
//打印到日志
                super.pt("the" + i + "times search :one of titles is:"
                        + window.getTitle());

                if (window.getTitle().equals(newWindowsTitle)) {
//打印到日志和reportng报告日志
                    super.rpt("New page title is:" + window.getTitle());
                    t = true;
                    break;
                }
                // window.close();//关闭新窗口
            }
            if (t) {
                break;
            }
//封装的等待方法,当前为每次遍历完后等待1秒
            super.threadSleep(1);
        }
        BrowersSize.maxBrowers(this.dr);

//如果当前的title与目标窗口title一直表示跳转成功,返回真
        if(this.dr.getTitle().equals(newWindowsTitle)){
            return true;
        }
        return false;   
    }
共收到 1 条回复 时间 点赞

最起码有点文字说明吧.

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册