Export (0) Print
Expand All

WebTestPlugin Class

Provides a means to run code and access a WebTest before and after the Web test is run. This class must be inherited.

Namespace: Microsoft.VisualStudio.TestTools.WebTesting
Assembly: Microsoft.VisualStudio.QualityTools.WebTestFramework (in microsoft.visualstudio.qualitytools.webtestframework.dll)

public abstract class WebTestPlugin
public abstract class WebTestPlugin
public abstract class WebTestPlugin

Using a WebTestPlugin and using the PreWebTest/PostWebTest events of the WebTest class are functionally equivalent. The difference is that coded Web tests are the only place you can use the events.

Notes to Inheritors When you inherit from WebTestPlugin, you must override the following members: PostWebTest, and PreWebTest.

The following example shows a Web test plug-in that adds a random number to the context before the Web test is run and displays the length of the last WebTestResponse after the Web test has run.

using System;
using Microsoft.VisualStudio.TestTools.WebTesting;
using System.Windows.Forms;

namespace WebTestPluginNamespace
    public class MyWebTestPlugin : WebTestPlugin
        public static string NewRandomNumberString(int size)
            byte[] buffer = new byte[size];
            // Seed using system time
            Random random = new Random(unchecked((int)DateTime.Now.Ticks));

            return BitConverter.ToInt32(buffer, 0).ToString();

        public override void PreWebTest(object sender, PreWebTestEventArgs e)
            e.WebTest.Context["RandNum"] = NewRandomNumberString(4);
        public override void PostWebTest(object sender, PostWebTestEventArgs e)


Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Community Additions

© 2015 Microsoft