首页 > 解决方案 > 在尝试切换到它之前等待窗口打开

问题描述

我的测试有问题,我选择了一个按钮,然后切换到选择按钮后打开的windwo,问题是我一直没有收到帧异常和越界异常。

我的代码是:

        clickWithActions(driver, launchNote);
        sleepForTime(6000);
        Set<String> handles = driver.getWindowHandles();

        List list = Arrays.asList(handles.toArray());
        driver.switchTo().window(list.get(1).toString());
        sleepForTime(6000);
        driver.manage().window().maximize();
        driver.manage().window().setSize(new Dimension(1920, 1080));

        break;

有什么方法可以让我等待这个窗口首先出现而无需长时间等待?

标签: javaseleniumtestingui-testing

解决方案


这种numberOfWindowsToBe()预期的等待条件在这里听起来很合适:

clickWithActions(driver, launchNote);

// wait for the number of windows to increase
new WebDriverWait(driver, 15).until(ExpectedConditions.numberOfWindowsToBe(2));

推荐阅读