FormPostHttpBody Class

Represents an HTML form post body with a collection of form parameters.

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

Syntax

'Declaration
<SerializableAttribute> _
Public Class FormPostHttpBody _
    Implements IHttpBody, ICloneable
'Usage
Dim instance As FormPostHttpBody
[SerializableAttribute]
public class FormPostHttpBody : IHttpBody, 
    ICloneable
[SerializableAttribute]
public ref class FormPostHttpBody : IHttpBody, 
    ICloneable
public class FormPostHttpBody implements IHttpBody, ICloneable

Remarks

This type is a container for information that is used by the POST method for submitting data back to the server in a HTTP body. This class can be serialized.

Examples

The following code examples show how a FormPostHttpBody adds form post parameters to the body of the WebTestRequest.

namespace TestProject1
{
    using System;
    using System.Collections.Generic;
    using Microsoft.VisualStudio.TestTools.WebTesting;
    using Microsoft.VisualStudio.TestTools.WebTesting.Rules;

    public class MyCodedWebTest : WebTest
    {
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            WebTestRequest request1 = new WebTestRequest("https://localhost/MyWebSite");
            request1.ThinkTime = 14;
            ExtractHiddenFields rule1 = new ExtractHiddenFields();
            rule1.ContextParameterName = "1";
            request1.ExtractValues += new EventHandler<ExtractionEventArgs>(rule1.Extract);
            yield return request1;

            WebTestRequest request2 = new WebTestRequest("https://localhost/MyWebSite/Default.aspx");
            request2.Method = "POST";
            FormPostHttpBody request2Body = new FormPostHttpBody();
            request2Body.FormPostParameters.Add("__VIEWSTATE", "{{$HIDDEN1.__VIEWSTATE}}");
            request2Body.FormPostParameters.Add("Button1", "Button");
            request2Body.FormPostParameters.Add("TextBox1", "text entered");
            request2.Body = request2Body;
            yield return request2;
        }
    }
}
Option Strict Off
Option Explicit On

Imports Microsoft.VisualStudio.TestTools.WebTesting
Imports Microsoft.VisualStudio.TestTools.WebTesting.Rules
Imports System
Imports System.Collections.Generic

Namespace MyVBTestProject
    
    Public Class MyCodedWebTest
        Inherits ThreadedWebTest
        
        Public Sub New()
            MyBase.New
            Me.PreAuthenticate = true
            Me.Proxy = "myproxy.com:80"
        End Sub
        
        Public Overrides Sub Run()
            Dim request1 As WebTestRequest = New WebTestRequest _
                ("https://localhost/MyWebSite")
            request1.ThinkTime = 10
            Dim rule1 As ExtractHiddenFields = New ExtractHiddenFields
            rule1.ContextParameterName = "1"
            AddHandler request1.ExtractValues, AddressOf rule1.Extract
            MyBase.Send(request1)

            Dim request2 As WebTestRequest = New WebTestRequest _
                ("https://localhost/MyWebSite/Default.aspx")
            request2.Method = "POST"
            Dim request2Body As FormPostHttpBody = New FormPostHttpBody
            request2Body.FormPostParameters.Add("__VIEWSTATE", _
                "{{$HIDDEN1.__VIEWSTATE}}")
            request2Body.FormPostParameters.Add("Button1", "Button")
            request2Body.FormPostParameters.Add("TextBox1", "Entered text")
            request2.Body = request2Body
            MyBase.Send(request2)
        End Sub
    End Class
End Namespace

Inheritance Hierarchy

System.Object
  Microsoft.VisualStudio.TestTools.WebTesting.FormPostHttpBody

Thread Safety

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

See Also

Reference

FormPostHttpBody Members

Microsoft.VisualStudio.TestTools.WebTesting Namespace

IHttpBody

ICloneable

System.Runtime.Serialization

Other Resources

Working with Web Tests