美文网首页IT技术文章收藏软件测试学习之路
Selenium 自动化测试 & 关闭多余窗口保留当前窗

Selenium 自动化测试 & 关闭多余窗口保留当前窗

作者: 乘风破浪的姐姐 | 来源:发表于2019-05-20 14:16 被阅读88次

    测试场景:
    用户登录后,XXX系统会自动弹出一个报表页面,供用户查看。查看完成后关闭该页面,进入另一个窗口进行任务处理。

    自动化测试要求:
    用户登录后,关闭报表页面,直接进入任务处理页面。

    解决方案:
    1、获取所有窗口,返回一个Set集合
    2、获取当前窗口
    3、判断窗口的数量是否大于1,如果大于1,则循环所有窗口并切换到对应窗口
    获取循环中窗口的标题,如果标题为要关闭的报表页面,则关闭窗口。否则,则记录为当前窗口。
    4、循环结束后,切找到任务处理页面
    5、前台测试类调用上述方法

    onlyCurrentWindow方法代码如下:

    chrome_driver = seleUtilChrome.onlyCurrentWindow("任务列表");
    
     public String onlyCurrentWindow(){
            String title = null;
            Set<String> windows =  this.driver.getWindowHandles();
            String currentHandle = this.driver.getWindowHandle();
    
            try {
                if (windows.size() > 1) {
                    for (String window : windows) {
                        this.driver.switchTo().window(window);
                        this.sleep();
                        title = this.driver.getTitle();
                        if (title.equals("个人绩效看板")) {
                            this.driver.close();
                            SeleniumUtil.log(log,"关闭个人绩效看板");
                        }else{
                            currentHandle = window;
                        }
                    }
                }
                driver.switchTo().window(currentHandle);// 切换到任务列表
            } catch (Exception e) {
                e.printStackTrace();
            }
            return  currentHandle;
        }
    
    

    相关文章

      网友评论

        本文标题:Selenium 自动化测试 & 关闭多余窗口保留当前窗

        本文链接:https://www.haomeiwen.com/subject/ptzhzqtx.html