Я работаю над проектом CodedUI, чтобы проверить веб-решение.
Там, когда Im тестирование для запуска сайта (как при запуске веб-URL), я столкнулся с проблемой закрытия браузера по завершении тестирования, когда он не позволит использовать тот же экземпляр браузера для дальнейшего тестирования, если только если я сохраню перед запуском теста сначала откройте экземпляр браузера (IE).
Может ли кто-нибудь помочь мне в этом, где я не смог найти подходящее решение. Я даже просмотрел статьи в MSDN, где я опубликовал эту проблему как комментарий, с которым я столкнулся, так как до сих пор я пытался использовать различные варианты фрагментов кода.
Мой письменный код приведен ниже.
---
-- common.cs
[TestMethod]
public void LoadLocalHost()
{
this.UIMap.LoadLocalHost();
}
---
-- UIMap.Designer.cs
public void LoadLocalHost()
{
this.UIMsnInternetExplorerWindow.LaunchUrl(new System.Uri("http://localhost:5500/"));
Console.WriteLine(UIMsnInternetExplorerWindow.CloseOnPlaybackCleanup);
UIMsnInternetExplorerWindow.CloseOnPlaybackCleanup = false;
}
Высоко цените помощь от кого-то, кто может.
Если вы запускаете браузер в методе Initialize класса, а не в методе инициализации теста, и не закрываете его в своем тесте или в процессе очистки теста, он должен оставаться открытым на время ваших тестов, при условии, что все они выполняются в пределах такой же испытательный класс.
[ClassInitialize]
public void classInitialize()
{
// Do some stuff, including launch the browser
// This is executed once per class.
}
[TestInitialize]
public void testInitialize()
{
// This is where you'd get the test back to a specific
// state, like bring your browser back to a home page or something.
// It would be executed at the beginning of each test.
}
....
[TestMethod]
public void myFirstTest()
{
// Do some more stuff specific to your test.
}
[TestMethod]
public void mySecondTest()
{
// Do things after the last test.
}
....
[ClassCleanup]
public void classCleanup()
{
// Finalize everything and close the browser.
}
[AssemblyInitialize]
и[AssemblyCleanup]
.