org.openqa.selenium.remote.SessionNotFoundException:退出后不能使用FirefoxDriver()

时间:2015-03-03 07:12:59

标签: selenium selenium-webdriver

driver.findElement(By.xpath(OR.getProperty(object))).click();
            System.out.println("Test");

单击可用于某个按钮。但是单击应用程序中的特定按钮。 但是'org.openqa.selenium.remote.SessionNotFoundException'错误是在上述驱动程序操作之后发生的。单击后,控制台上不会打印测试。为什么会这样?

public static void click(String object, String data){
        try{
            /*try
            {
                driver.switchTo().alert().accept();
            }
            catch(Exception e){}*/      
            new WebDriverWait(driver, 30).until(ExpectedConditions.elementToBeClickable(By.xpath(OR.getProperty(object))));
            driver.findElement(By.xpath(OR.getProperty(object))).click();
            System.out.println("Test");
            Log.info("Clicking on Webelement "+ object);
        }catch(Exception e){
            Log.error("Not able to click --- " + e.getMessage());
            DriverScript.bResult = false;
        }
    }

这是代码。它是一个关键字驱动框架。此action关键字完美执行6次。但是在单击弹出新窗口的某个按钮时会发生此错误。切换窗口应该是要执行的下一个动作关键字。但它没有到达那里。就在.click之后,它长时间处于空闲状态。然后是上面的例外。

public static void switchwindow(String object,String data){
        try{
            parentHandle = driver.getWindowHandle();
            System.out.println(driver.getWindowHandles().size());// get the current window handle
            for (String winHandle : driver.getWindowHandles()) {
                if(winHandle.equalsIgnoreCase("73e19507-bf40-44ce-822a-62630be49c2b"))
                {driver.switchTo().window(winHandle);break;} // switch focus of WebDriver to the next found window handle (that's your newly opened window)
            }
            Log.info("Switched to new window");       
        }
        catch(Exception e){
            Log.error("Not able to switch the window --- " + e.getMessage());
            DriverScript.bResult = false;
        }
    }

2 个答案:

答案 0 :(得分:0)

似乎您的浏览器已关闭。

我会简化测试而不是在代码中的任何地方调用quit。

如果其他浏览器存在问题,我也会尝试。此外,你可以调试或引入睡眠,以检查execly问题的位置。

答案 1 :(得分:0)

我怀疑您的代码切换窗口可能存在问题。如果你可以显示切换窗口的代码,最好调试。