How do I keep the browser open after a coded ui test finishes?

前端 未结 3 742
庸人自扰
庸人自扰 2021-01-21 01:32

I\'m using Visual Studio 2012 Coded UI tests for a web application. I have a test for logging into the app which starts the browser, locates the login dialogue, enters credenti

相关标签:
3条回答
  • 2021-01-21 02:01

    Ok, so what I needed to have happen was the launch and login before each test. I thought what I wanted was to run the browser and login test first, and then each additional test. After reading more, I've decided what I actually wanted was to run this logic as initialization code for each test. I've done that by adding this code to the default [TestInitialize()] generated when I started the coded ui project in Visual Studio 2012.

    0 讨论(0)
  • 2021-01-21 02:02

    I have found the following method to work for my data driven coded UI test in Visual Studio 2015.

    You will want to use [ClassInitialize] and get your browser open and direct it according to where your [TestMethod] begins.

    Use [ClassCleanup] to release the resources after all the methods in the test class have been executed.

    You can redirect test methods different after the class has been initialized by using the [TestInitialize] and clean-up test using the [TestCleanup]. Be careful with those though because they will occur for each test method and if it closes your browser instance your following test will fail.

    private static BrowserWindow browserWindow = null;
    
    [ClassInitialize]
    public static void ClassInitialize(TestContext context)
    {
        Playback.Initialize();
        browserWindow = BrowserWindow.Launch(new Uri("http://198.238.204.79/"));          
    }
    
    [ClassCleanup]
    public static void TestCleanup()
    {
        browserWindow.Close();
        Playback.Cleanup();
    }
    
    0 讨论(0)
  • 2021-01-21 02:07

    I don't have the original source where I found this solution :( You can have a method like the one showed below. This method needs to be called in TestSetup. Also declare a class level variable _browserWindow of the tyep BrowserWindow

    private void SetBrowser()
        {
            if(_browserWindow == null)
            {
                BrowserWindow.CurrentBrowser = "ie";
                _browserWindow = BrowserWindow.Launch("http://www.google.com");
                _browserWindow.CloseOnPlaybackCleanup = false;
               _browserWindow.Maximized = !_browserWindow.Maximized;
            }
            else
            {
                BrowserWindow.CurrentBrowser = "ie";
                _browserWindow = BrowserWindow.Locate("Google");
               _browserWindow.Maximized = !_browserWindow.Maximized;
            }
    
        }
    
    0 讨论(0)
提交回复
热议问题