Как закрыть браузер (IE8) с помощью Watin? - PullRequest
2 голосов
/ 25 июня 2010

Я использую Watin 2.0 для разработки некоторых автоматических тестов пользовательского интерфейса. Я не могу заставить Ватина закрыть браузер после того, как он его открыл. Объект Watin.Core.Browser реализует IDisposible, но 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);
}

Ответы [ 5 ]

1 голос
/ 27 марта 2014

Опоздал на вечеринку, но вы пробовали ForceClose ():

if (ie.NativeBrowser != null)
{
    ie.ForceClose();
}

Или чтобы убедиться, что другие экземпляры IE не открыты, найдите все открытые экземпляры и ForceClose () их:

while (IE.InternetExplorersNoWait().Count > 0)
{
    var ie = IE.InternetExplorersNoWait()[0];
    ie.ForceClose();
}

Вы также можете принудительно вызвать метод Dispose ():

if (ie.NativeBrowser != null)
{
    ie.Dispose();
}
1 голос
/ 01 марта 2012

Вы также хотите быть уверены, что у вас нет открытых консолей разработчика IE (F12) - это приведет к зависанию WatiN 2.1 при вызове .Close ().

НТН

1 голос
/ 17 августа 2010

Кажется, что если тест выдает какое-то исключение, dispose никогда не вызывается.

0 голосов
/ 05 августа 2010

Кроме того, вы можете проверить свой браузер AutoClose свойство ie.AutoClose

0 голосов
/ 23 июля 2010

ie.close () работал у меня в т.е. 8

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...