CodedUI: Браузер закрывается как завершающее тестирование без продолжения для тестирования дальнейших шагов

1

Я работаю над проектом CodedUI, чтобы проверить веб-решение.

Там, когда Im тестирование для запуска сайта (как при запуске веб-URL), я столкнулся с проблемой закрытия браузера по завершении тестирования, когда он не позволит использовать тот же экземпляр браузера для дальнейшего тестирования, если только если я сохраню перед запуском теста сначала откройте экземпляр браузера (IE).

Может ли кто-нибудь помочь мне в этом, где я не смог найти подходящее решение. Я даже просмотрел статьи в MSDN, где я опубликовал эту проблему как комментарий, с которым я столкнулся, так как до сих пор я пытался использовать различные варианты фрагментов кода.

(MSDN: http://blogs.msdn.com/b/visualstudioalm/archive/2012/11/08/using-same-applicationundertest-browserwindow-across-multiple-tests.aspx)

Мой письменный код приведен ниже.

---
-- 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;
    }

Высоко цените помощь от кого-то, кто может.

Теги:
testing
browser
automated-tests
coded-ui-tests

1 ответ

0

Если вы запускаете браузер в методе 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.
}
  • 0
    Привет @Ryan, я пытался по-твоему, добавив 'this.UIMap.LoadLocalHost ();' в [ClassInitialize]. И это не запускало IE вообще. Я попробовал это даже по заказанному тесту, который тоже не сработал. Сможете ли вы помочь мне?
  • 0
    Если в нескольких классах есть тесты, вы можете попробовать использовать методы [AssemblyInitialize] и [AssemblyCleanup] .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню