FormPostHttpBody 類別
表示具有表單參數集合的 HTML 表單張貼內容。
繼承階層架構
System.Object
Microsoft.VisualStudio.TestTools.WebTesting.FormPostHttpBody
命名空間: Microsoft.VisualStudio.TestTools.WebTesting
組件: Microsoft.VisualStudio.QualityTools.WebTestFramework (在 Microsoft.VisualStudio.QualityTools.WebTestFramework.dll 中)
語法
'宣告
<SerializableAttribute> _
Public Class FormPostHttpBody _
Implements IHttpBody, ICloneable
[SerializableAttribute]
public class FormPostHttpBody : IHttpBody,
ICloneable
[SerializableAttribute]
public ref class FormPostHttpBody : IHttpBody,
ICloneable
[<SerializableAttribute>]
type FormPostHttpBody =
class
interface IHttpBody
interface ICloneable
end
public class FormPostHttpBody implements IHttpBody, ICloneable
FormPostHttpBody 型別會公開下列成員。
建構函式
名稱 | 說明 | |
---|---|---|
FormPostHttpBody | 初始化 FormPostHttpBody 類別的新執行個體。 |
回頁首
屬性
名稱 | 說明 | |
---|---|---|
ContentType | 取得值,這個值表示所傳送之資料的內容類型。 | |
FormPostParameters | 取得這個 FormPostHttpBody 中包含的 FormPostParameters 清單。 |
回頁首
方法
名稱 | 說明 | |
---|---|---|
Clone | 傳回 FormPostHttpBody 的深層複本 (Deep Copy)。 | |
Equals | 判斷指定的物件是否等於目前物件。 (繼承自 Object)。 | |
Finalize | 允許物件在記憶體回收進行回收之前,嘗試釋放資源並執行其他清除作業。 (繼承自 Object)。 | |
GetHashCode | 做為特定型別的雜湊函式。 (繼承自 Object)。 | |
GetType | 取得目前執行個體的 Type。 (繼承自 Object)。 | |
MemberwiseClone | 建立目前 Object 的淺層複本 (Shallow Copy)。 (繼承自 Object)。 | |
ToString | 傳回表示目前物件的字串。 (繼承自 Object)。 | |
WriteHttpBody | 寫入 HTTP 內容資料流。 |
回頁首
備註
這個型別是 POST 方法在 HTTP 內容中,將資料送回伺服器時所使用之資料的容器。 這個類別可以序列化。
範例
下列程式碼範例示範 FormPostHttpBody 如何將表單張貼參數加入至 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("http://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("http://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 _
("http://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 _
("http://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
執行緒安全
這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。不保證任何執行個體成員是安全執行緒。
請參閱
參考
Microsoft.VisualStudio.TestTools.WebTesting 命名空間