Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用Watin关闭浏览器(IE8)?_C#_.net_Unit Testing_Watin_Coded Ui Tests - Fatal编程技术网

C# 如何使用Watin关闭浏览器(IE8)?

C# 如何使用Watin关闭浏览器(IE8)?,c#,.net,unit-testing,watin,coded-ui-tests,C#,.net,Unit Testing,Watin,Coded Ui Tests,我正在使用Watin2.0开发一些自动化的UI测试。我无法让Watin在浏览器打开后关闭它。Watin.Core.Browser对象实现IDisposable,但Dispose()不起作用。我还尝试过使用Close()方法 最近,我尝试将IE对象实例化包装在Using语句中,但没有成功 我正在用IE8进行测试 using (IE ie = new IE()) { ie.GoTo(ApplicationContainer.SummaryUriProvider.URI); Link

我正在使用Watin2.0开发一些自动化的UI测试。我无法让Watin在浏览器打开后关闭它。Watin.Core.Browser对象实现IDisposable,但Dispose()不起作用。我还尝试过使用Close()方法

最近,我尝试将IE对象实例化包装在Using语句中,但没有成功

我正在用IE8进行测试

using (IE ie = new IE())
{
    ie.GoTo(ApplicationContainer.SummaryUriProvider.URI);
    Link furthurReadingLink = ie.Link(Find.ByText("Further Reading"));
    furthurReadingLink.Click();

    string subTitle = ie.Div("frheader").Element(Find.ByClass("panelsubtitle")).Text;

    Assert.AreEqual("Further Reading", subTitle);
}

ie.close()在ie 8中为我工作过。此外,您可能需要检查您的浏览器
AutoClose
属性
ie.AutoClose

如果测试引发一些异常,则似乎永远不会调用dispose

您还需要确保没有任何IE开发者控制台(F12)处于打开状态-当调用.Close()时,它将导致WatiN 2.1挂起


HTH

晚会迟到了,但您是否尝试过强制关闭():

或者,为了确保没有其他IE实例打开,请查找所有打开的实例并强制关闭它们:

还可以强制使用Dispose()方法:


我刚刚检查了我的Watin测试,我正在做和你一样的事情,但IE肯定会成功。您使用的是最新版本的Watin吗?虽然这不是原始问题的答案,但您在处理时解决了我的Watin绞刑几秒钟的问题。
if (ie.NativeBrowser != null)
{
    ie.ForceClose();
}
while (IE.InternetExplorersNoWait().Count > 0)
{
    var ie = IE.InternetExplorersNoWait()[0];
    ie.ForceClose();
}
if (ie.NativeBrowser != null)
{
    ie.Dispose();
}