Почему я должен подключать IE в WatiN при запуске теста на сервере через службу круиз-контроля

#cruisecontrol.net #watin

#cruisecontrol.net #watin

Вопрос:

Я делал следующее в течение длительного времени, и это работает без каких-либо проблем, когда я его запускаю:

 [Test]
public void GoToMethod()
{
    // Pre: ie = new IE();

    NewEmployeePage page = ie.Page<NewEmployeePage>();
    page.GoTo(); // which launches IE
}

[Test]
public void AssertionMethod()
{
    NewEmployeePage page = ie.Page<NewEmployeePage>();
    Assert.That(page.FirstNameTextBox.Text, Is.EqualTo("John"));
}
  

Метод утверждения обычно все еще имеет намеренный ie. Когда метод AssertionMethod выполняется, NewEmployeePage просто принимает открытый в данный момент браузер. Теперь, когда метод утверждения выполняется через службу CruiseControl (запущенную под учетной записью службы), ie равен null. Наконец-то я справился с этой проблемой, выполнив следующее:

 [Test]
public void AssertionMethod()
{
    string url = ie.Url;
    ie = IE.Attach<IE>(url);

    NewEmployeePage page = ie.Page<NewEmployeePage>();
    Assert.That(page.FirstNameTextBox.Text, Is.EqualTo("John"));
}
  

Мне просто интересно, почему я должен это делать, когда мои тесты выполняются службой CruiseControl?