How to: Record a Web Test

You record a Web test by creating a new Web test in Visual Studio. The Web test activates the integrated Web Test Recorder and starts Internet Explorer. The Web Test Recorder is installed as part of Visual Studio Team System Test Edition; it is used to record the actions you perform while you browse a Web site. As you move through the site, recorded requests are added to the Web test.

After you have recorded a Web test, you can change the test and add properties to the test by using the Web Test Editor. For more information, see How to: Edit an Existing Web Test. You cannot edit your Web tests until recording is stopped.

The Web Test Recorder does not capture traffic sent between the client and server. This type of tool is sometimes referred to as proxy recorder. Therefore, dependent requests, such as images, CSS, and JavaScript, are not recorded. Instead, the Web Test Viewer determines dependent requests at run time. This leads to a more adaptable test that is not cluttered with requests for images.

Promoting Dynamic Parameters

When you run a Web application, the application dynamically generates data, such as a session ID. In many cases, Web applications also send dynamic data in query string parameter values and form post parameter values. A Web test can use such a generated parameter value by capturing it from the HTTP response by using an extraction rule and then binding it to a subsequent HTTP request. This capture and binding sequence is known as the promotion of dynamic parameters. Dynamic parameter promotion can prevent many cases of playback failure.

After you finish recording a Web test, you can detect whether dynamic parameters exist, and then choose to promote some of all of them, as described in the following procedure.

Recording a Web Test

To record a Web test

  1. Open a Test project. For more information about how to create a test project, see How to: Create a Test Project.

  2. On the Test menu, click New Test.

    The Add New Test dialog box is displayed.

  3. Select Web Test.

  4. In the Test Name box, type an appropriate name. Do not change the .webtest extension. When you are finished, click OK.

    The Web Test Recorder opens inside a new instance of Internet Explorer.

  5. Go to the site that you want to test, generally a non-production Web site, and notice the URLs that are listed in the Web Test Recorder.


    Typically, Web tests are used to test a Web application that is under development and not yet ready for production. Therefore, it is assumed that you have such a Web application.

  6. (Optional) Click more links to record additional pages.

    Visual Studio displays the recorded Web test in the Web Test Editor as it is being recorded. After you stop the recording, you can edit the test.

  7. Click Stop to stop recording and close Internet Explorer.

    A dialog box displays the message Detecting dynamic parameters. It also displays a progress bar that shows the status of parameter detection in the HTTP responses that were received.

    If no dynamic parameters are detected, the dialog box displays the message Did not detect any dynamic parameters to promote. The dialog box then closes.

    If dynamic parameters are detected, the Promote Dynamic Parameters to Web Test Parameters dialog box appears. This dialog box contains a table that lists the dynamic parameter values that were found, if any. You can now promote them to Web test parameters. Each row shows one parameter value that you can choose to promote.

  8. (Optional) In the Promote Dynamic Parameters to Web Test Parameters dialog box, select check boxes for the promotions that you want to apply when you run the Web test, and click OK.

  9. On the File menu, click Save to save the newly recorded Web test.

Request Properties

The tree of nodes that contains URLs in the Web Test Editor is called the request tree. You can select nodes in the request tree to view the properties associated with each request after the test is recorded.

Note the following about the requests that are captured:

  • The Query String parameters and the Form Post Parameters were detected and automatically generated into the test. You can view the transport method property, GET or POST in the Visual Studio Properties window for each request of a Web test.

  • When recording is finished, the Web Test Recorder automatically detects the use of hidden form fields. You can add an ExtractHiddenFields extraction rule to a request that contains hidden fields. The extraction rule will capture the hidden field values in the context of the Web test. The hidden field values that were sent back to the Web server can be replaced with content-binding to those context parameters. This allows the test to use the correct hidden field values at runtime which is necessary for hidden fields that contain unique identifiers, including VIEWSTATE. For more information, see How to: Add an Extraction Rule to a Web Test.

    For more information about view state, see Understanding ASP.NET View State.

  • Images are not recorded. Instead, because the Parse Dependent Links property of the request is set to True, the page is parsed to determine the set of dependent requests on the page, such as images, CSS, and JavaScript. For more information, see How to: Edit an Existing Web Test.

  • Redirects are not recorded. Redirects are followed automatically when the test is run.

See Also


How to: Add an Extraction Rule to a Web Test

How to: Edit an Existing Web Test


Creating a Web Test

Other Resources

Understanding ASP.NET View State