我打开一个页面,在测试结束时尝试通过在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);
}
答案 0 :(得分:1)
根据您使用的单元测试软件,我建议将浏览器委托给单元测试框架,而不是像这样使用逻辑。
将清理方法放在After
方法中。如,After each test... do this
。
在java中,使用jUnit,就像这样编写。
@After
public void cleanUp() {
driver.quit();
}
这意味着after each test, call driver.quit()