C# 如何使用Watin关闭浏览器(IE8)?
我正在使用Watin2.0开发一些自动化的UI测试。我无法让Watin在浏览器打开后关闭它。Watin.Core.Browser对象实现IDisposable,但Dispose()不起作用。我还尝试过使用Close()方法 最近,我尝试将IE对象实例化包装在Using语句中,但没有成功 我正在用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
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();
}