WebTestRequest クラス

更新 : 2007 年 11 月

Web サーバーに送信される HTTP 要求を表します。

名前空間 :  Microsoft.VisualStudio.TestTools.WebTesting
アセンブリ :  Microsoft.VisualStudio.QualityTools.WebTestFramework (Microsoft.VisualStudio.QualityTools.WebTestFramework.dll 内)

構文

'宣言
<SerializableAttribute> _
Public Class WebTestRequest _
    Inherits WebTestItem
'使用
Dim instance As WebTestRequest
[SerializableAttribute]
public class WebTestRequest : WebTestItem
[SerializableAttribute]
public ref class WebTestRequest : public WebTestItem
public class WebTestRequest extends WebTestItem

解説

このクラスは、コード化された Web テストにおいて HTTP 要求をシミュレートするための中核となる機能を提供します。シミュレートされた HTTP 要求は、Visual C# Web テストの場合は GetRequestEnumerator メソッドによって Web テスト エンジンに返されます。Visual Basic では、ThreadedWebTest で使用される Run メソッドによって返されます。

このクラスはシリアル化可能です。

次の Web テストでは、チェック ボックスのステータスを表す値を抽出し、その値をコンテキストに追加します。

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

    public class MyWebTest : WebTest
    {
        public MyWebTest()
        {
            this.PreAuthenticate = true;
        }

        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            WebTestRequestrequest1 = new WebTestRequest("https://localhost/ts");
            ExtractCheckBoxes rule1 = new ExtractCheckBoxes();
            rule1.FindCheckedBoxes = true;
            rule1.ContextParameterName = "CheckedBoxes";
            request1.ExtractValues += new EventHandler
                <ExtractionEventArgs>(rule1.Extract);
            ExtractCheckBoxes rule2 = new ExtractCheckBoxes();
            rule2.FindCheckedBoxes = false;
            rule2.ContextParameterName = "";
            request1.ExtractValues += new EventHandler
                <ExtractionEventArgs>(rule2.Extract);
            yield return request1;
        }
    }
}

ThreadedWebTest を継承する、MyCodedWebTest という名前のコード化された Web テストを次に示します。2 番目の要求は、3 つのコントロール内に格納されているフォーム情報をサーバーにポストバックします。

Option Strict Off
Option Explicit On

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

Namespace TestProject2
    
    Public Class MyCodedWebTest
        Inherits ThreadedWebTest
        
        Public Sub New()
            MyBase.New
            Me.PreAuthenticate = true
            // TODO: specify your proxy below
            Me.Proxy = "myproxy.seattle.corp.northwind.com:80"
        End Sub
        
        Public Overrides Sub Run()
            Dim request1 As WebTestRequest = New WebTestRequest _
                ("https://localhost/MyWebSite")request1.ThinkTime = 1
            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", "Hello text")
            request2.Body = request2Body
            Dim rule2 As ExtractHiddenFields = New ExtractHiddenFields
            rule2.ContextParameterName = ""
            AddHandler request2.ExtractValues, AddressOf rule2.Extract
            MyBase.Send(request2)
        End Sub
    End Class
End Namespace

継承階層

System.Object
  Microsoft.VisualStudio.TestTools.WebTesting.WebTestItem
    Microsoft.VisualStudio.TestTools.WebTesting.WebTestRequest

スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

参照

参照

WebTestRequest メンバ

Microsoft.VisualStudio.TestTools.WebTesting 名前空間

その他の技術情報

Web テストの操作

Web テストの概要