Я выполняю следующее в течение самого длительного времени, и оно работает без каких-либо проблем, когда я его инициирую:
[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"));
}
Как правило, метод подтверждения все еще имеет то есть, что является целым.Когда AssertionMethod выполняется, NewEmployeePage просто принимает текущий открытый браузер.Теперь, когда AssertionMethod выполняется через службу CruiseControl (работает под учетной записью службы), то есть имеет значение 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?