We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

WebTestPlugin.PreWebTest Method

When overridden in a derived class, represents the method that will handle the event associated with the start of a Web performance test.

Namespace:  Microsoft.VisualStudio.TestTools.WebTesting
Assembly:  Microsoft.VisualStudio.QualityTools.WebTestFramework (in Microsoft.VisualStudio.QualityTools.WebTestFramework.dll)

public virtual void PreWebTest(
	Object sender,
	PreWebTestEventArgs e


Type: System.Object
The source of the event.
Type: Microsoft.VisualStudio.TestTools.WebTesting.PreWebTestEventArgs
A PostWebTestEventArgs that contains the event data.

This provides a code execution entry point at the start of a Web performance test run.

The following example shows a Web performance test plug-in that adds a random number to the context before the Web performance test is run using the PreWebTest method. In the same way you can override PostWebTest and perform an action after the Web performance test has run. For example, you might want to write to a log file the time it takes to complete the Web performance test and the number of requests issued during the Web performance test.

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