Using Visual Studio Team Test

Telerik Testing Framework comes with built-in support for Visual Studio Team Test and its unit testing framework. Telerik Testing Framework can be used with or without Visual Studio, but if you are already using Visual Studio Team Test in your development environment, you can easily and quickly integrate Telerik Testing Framework as part of that environment.

 

Telerik Automation Infrastructure comes with the following features to facilitate its integration with Visual Studio:

 

  • Telerik Testing Framework comes with a BaseTest base test class under its TestTemplates namespace that can be used as the base class for all your Telerik automation tests running as a Visual Studio unit test. The base class provides the following integration features:
    • Unifies both the logging location and the log content. Any logging from Telerik automation using its Log object will also be logged to the Visual Studio log location and to the actual Visual Studio log content of that particular test. This includes logging from JavaScipt.
      C#

      [TestMethod]
      public void DLog()
      {
           // logging from VS
           TestContext.WriteLine("Hello from VS");
           // logging from Telerik
           Log.WriteLine("Hello from Telerik");
        
      }
      Visual Basic

      <TestMethod()> _
      Public Sub DLog()
        
           ' logging from VS
           TestContext.WriteLine("Hello from VS")
           ' logging from Telerik
           Log.WriteLine("Hello from Telerik")
        
      End Sub

     

    VS log:


    • Telerik settings can be read directly from an app.config file contained in your Visual Studio test project. This allows you to configure your Telerik tests using the same .config file that you would be using to store your connection strings and other settings for your test suite.

  • When installing Telerik Testing Framework, a new fully commented Visual Studio item template will be added to your list of available templates. This will enable you to start using Telerik Testing Framework by simply selecting it from the 'Add->New Item' tool menu (or context menu) available to your VS project. You are provided with both a C# and a VB.NET template.

     

Getting Started Using Visual Studio Team Test

In this section we will walk you through the steps to get you started using Telerik Framework inside a Visual Studio Team Test environment.

  • Once you have completed installing Telerik Testing Framework on the target machine, start your Visual Studio environment and open your test project or create a new test project if you are starting from scratch.


  • Once you have created the project, right-click the project node in the Solution Explorer. Then select Add->New Item... (NOTE: Do not use Add->New Test)

  • Visual Studio will pop-up the Add New Item dialog as shown below.


     

  • Expand the Test node displayed on the left then select Telerik Testing Framework 2011.1. Then choose Web or Wpf. You should see four templates as shown in the image above.
  • Select the VsUnit template.
  • Enter a name for your new unit test file then click Add.
  • At this point, you should have a new test added to your project and you should be ready to go. The template will automatically add a reference of ArtOfTest.WebAii.dll to your project that contains the Telerik infrastructure and all the initialization and clean-up routines will be setup in your new unit test file.
  • Start writing your automated Telerik unit test just like any other Visual Studio unit test. You can view, manage, and execute your Telerik unit tests just like any other Visual Studio unit tests.

    Telerik's Visual Studio Team Test Template

    The Telerik Framework template is very similar to Visual Studio's unit test template with the addition of Telerik's integration points to initialize and clean up Telerik's infrastructure. Telerik Visual Studio tests also inherit from a base test class called BaseTest that lives in the ArtOfTest.WebAii.TestTemplate namespace. The base class, in addition to providing the integration benefits described above, provides:

  • Short-cuts to the commonly used objects within your test code. For example, instead of always typing Manager.ActiveBrowser.Find, there is a first class Find object exposed off the BaseTest that is set to the Manager.ActiveBrowser.Find instance. The following are the objects and their short-cuts that the base class provides:

 

 

Object reference Shortcut name
Manager.ActiveBrowser ActiveBrowser
Manager.ActiveBrowser.Find Find
Manager.ActiveBrowser.Actions Actions
Manager.Desktop Desktop
Manager.Log Log
Manager Manager
  • Takes care of creating the Manager object and setting up all of the above short cuts.
  • Reads the Telerik Framework settings from .config file (if available) and initializes Telerik Framework according to these settings.
  • Sets up the proper delegates so that logging from both Telerik Framework and Visual Studio is done to the same Visual Studio log file.
  • The base class also offers different options that you might want to choose from depending on the scenarios and your testing environment. The Telerik Framework template installed on your machines, by default uses the following initialization:

     

    C#

    Initialize(false, this.TestContext.TestLogsDir, new TestContextWriteLine(this.TestContext.WriteLine));

     

    Visual Basic

    Initialize(False, Me.TestContext.TestLogsDir, New TestContextWriteLine(AddressOf Me.TestContext.WriteLine))

     

    The above initialization does not enable the RecycleBrowser feature and passes the log location of Visual Studio's log location as set on VS' TestContext.TestLogsDir property to Telerik Testing Framework. The initialization also passes in a delegate to the WriteLine method of the TestContext so that you can unify the logging across both frameworks. If that initialization does not work for you, you can choose to pass in different parameters or choose to do your own custom setup of the framework. For example, if you want to override some of the settings from the .config file in one or two of your test cases, you can simply do the following:

    C#

    // This will get a new Settings object. If a configuration
    // section exists, then settings from that section will be
    // loaded
       
    Settings settings = GetSettings();
      
    // Override the settings you want. For example:
    settings.DefaultBrowser = BrowserType.FireFox;
      
    // Now call Initialize again with your updated settings object
    Initialize(settings, new TestContextWriteLine(this.TestContext.WriteLine));

     

    Visual Basic

    ' This will get a new Settings object. If a configuration
    ' section exists, then settings from that section will be
    ' loaded
    Dim mysettings As Settings = GetSettings()
      
    ' Override the settings you want. For example:
    mysettings.DefaultBrowser = BrowserType.FireFox
      
    ' Now call Initialize again with your updated settings object
    Initialize(mysettings, New TestContextWriteLine(AddressOf Me.TestContext.WriteLine))

     

    Also if you don't really want to unify the logging and want Telerik Testing Framework to perform its own logging in a custom folder, you can simply use the following overload:

     

    C#

    Initialize(myCustomLocation);

     

    Visual Basic

    Initialize(myCustomLocation)

     

    For more information on Telerik Testing Framework's settings & configuration please refer to the Settings and Configuration topic.

     

    Starting Automation

    Now that we have an understanding of the template, we can start automating right away. Pick your test method and start writing your automation test code for your unit test. For example:

     

    C#

    [TestMethod]
    [Description("My simple demo")]
    public void SimpleTest()
    {
         // Launch an instance of the browser
         Manager.LaunchNewBrowser();
      
         // Navigate to google.com
         ActiveBrowser.NavigateTo("http://www.google.com");
      
         // verify the title is actually Google.
         Assert.AreEqual("Google", ActiveBrowser.Find.ByTagIndex("title", 0).InnerText);
    }

     

    Visual Basic

    <TestMethod(), _
    Description("My simple demo")> _
    Public Sub SimpleTest()
      
         ' Launch an instance of the browser
         Manager.LaunchNewBrowser()
       
         ' Navigate to google.com
         ActiveBrowser.NavigateTo("http://www.google.com")
      
         ' verify the title is actually Google.
         Assert.AreEqual("Google", ActiveBrowser.Find.ByTagIndex("title", 0).InnerText)
      
    End Sub