Selenium 2.35 WebDriver Quit因IE 10而失败

时间:2013-09-26 19:43:02

标签: c# selenium webdriver

我打开一个页面,在测试结束时尝试通过在finally块中调用我的CelanUp()来关闭它,但有时IEDriverServer和浏览器保持打开状态。发生这种情况时,没有打开的弹出窗口。

    public void CelanUp ()
    {
        string dialogResponse = string.Empty;

        if (m_Driver != null)
        {
            //Dismiss all dialogs:
            dialogResponse = CloseLogonDialog();
            dialogResponse = CloseConfirmDialog();

            m_Driver.Quit();
            m_Driver = null;
        }

        if (dialogResponse != string.Empty)
        {
            throw new ApplicationException(dialogResponse);
        }
    }

我还可以关闭浏览器和IEDriverServer吗?

编辑:

因为Selenium的退出让我打开窗户,我已经看了其他解决方案:

try
{
    foreach (Process proc in Process.GetProcessesByName("IEDriverServer.exe"))
    {
        proc.Kill();
    }
}
catch(Exception ex)
{
    MessageBox.Show(ex.Message);
}

1 个答案:

答案 0 :(得分:1)

根据您使用的单元测试软件,我建议将浏览器委托给单元测试框架,而不是像这样使用逻辑。

将清理方法放在After方法中。如,After each test... do this

在java中,使用jUnit,就像这样编写。

@After
public void cleanUp() {
  driver.quit();
}

这意味着after each test, call driver.quit()