#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?