WebTestRequest クラス
Web サーバーに送信される HTTP 要求を表します。
継承階層
System.Object
Microsoft.VisualStudio.TestTools.WebTesting.WebTestItem
Microsoft.VisualStudio.TestTools.WebTesting.WebTestRequest
名前空間: Microsoft.VisualStudio.TestTools.WebTesting
アセンブリ: Microsoft.VisualStudio.QualityTools.WebTestFramework (Microsoft.VisualStudio.QualityTools.WebTestFramework.dll 内)
構文
'宣言
<SerializableAttribute> _
Public Class WebTestRequest _
Inherits WebTestItem
[SerializableAttribute]
public class WebTestRequest : WebTestItem
[SerializableAttribute]
public ref class WebTestRequest : public WebTestItem
[<SerializableAttribute>]
type WebTestRequest =
class
inherit WebTestItem
end
public class WebTestRequest extends WebTestItem
WebTestRequest 型で公開されるメンバーは以下のとおりです。
コンストラクター
名前 | 説明 | |
---|---|---|
WebTestRequest(String) | URL 文字列を使用して、WebTestRequest クラスの新しいインスタンスを初期化します。 | |
WebTestRequest(Uri) | WebTestRequest オブジェクトを使用して、Uri クラスの新しいインスタンスを初期化します。 |
このページのトップへ
プロパティ
名前 | 説明 | |
---|---|---|
Body | この要求の本体を取得または設定します。 | |
BodyBytes | 本体に関連付けられているバイト数を取得します。 | |
Cache | 要求に対してブラウザーのキャッシュをシミュレートするかどうかを示す値を取得または設定します。 | |
ClientCertificates | X.509 SSL 証明書を使用してユーザーを認証できるようにするための参照を取得または設定します。 | |
ContentLength | 要求の本体の長さ (バイト数) を取得します。 | |
ContentType | 要求のコンテンツ タイプを取得します。 | |
Cookies | Cookie のコレクションを取得します。 | |
CorrelationExtractionRuleReferences | 動的なパラメーターの関連付けに使用される抽出ルールへの参照のコレクションを取得します。 | |
DependentRequests | 依存要求のコレクションを取得します。 | |
EncodeRedirectedUrl | リダイレクトされた URL のクエリ文字列パラメーターをエンコードするかどうかを示すブール値を取得または設定します。 | |
Encoding | Encoding の形式を取得または設定します。 | |
ExpectedHttpStatusCode | この要求について予想される HTTP ステータス コードを取得または設定します。 | |
ExpectedResponseUrl | 応答の予想される URL を取得または設定します。リダイレクトが予想される場合、この URL は要求 URL と異なることがあります。 | |
ExtractionRuleReferences | 要求に対して定義される抽出ルールへの参照のコレクションを取得します。 | |
FollowRedirects | 自動的にリダイレクトに従うかどうかを示す値を取得または設定します。 | |
HasCookies | 要求に Cookie が含まれるかどうかを示す値を取得します。 | |
HasDependentRequests | 要求に依存要求が含まれるかどうかを示す値を取得します。 | |
HasHeaders | 要求に HTTP ヘッダーが含まれるかどうかを示す値を取得します。 | |
HasQueryStringParameters | 要求にクエリ文字列パラメーターが含まれるかどうかを示す値を取得します。 | |
Headers | 要求の HTTP ヘッダーのコレクションを取得します。 | |
IsRedirectFollow | リダイレクトに従った結果として要求が作成されたかどうかを示す値を取得します。 | |
ItemId | Web パフォーマンス テスト内の項目のシーケンス番号 (0 から始まります)。 (WebTestItem から継承されます。) | |
Method | 要求に使用するメソッドを取得または設定します。 | |
Outcome | Web パフォーマンス テスト要求の結果 (成功または失敗) を取得または設定します。 | |
ParseDependentRequests | 応答本体で見つかった依存要求を自動的にフェッチするかどうかを示す値を取得または設定します。 | |
QueryStringParameters | 要求に対するクエリ文字列パラメーターの一覧を取得します。 | |
RecordedCookies | 要求と共に記録された Cookie を取得します。 | |
RecordResult | この要求について個々の統計情報および結果データが追跡されるかどうかを示す値を取得または設定します。 | |
ReportingName | 要求のレポート名を取得または設定します。 | |
ResponseTimeGoal | 特定のページに対する応答時間の目標を取得または設定します。 | |
SendChunked | ユーザーがチャンク要求の本体を送信できるかどうかを示す値を取得または設定します。 | |
ThinkTime | 応答の受信後に待機するための待ち時間を表す値を取得または設定します。 | |
Timeout | この要求がタイムアウトするまでの待機時間を示す値を取得または設定します。 | |
Url | 要求に使用されるリソースの URL を取得または設定します。 | |
UrlWithQueryString | 要求に使用するリソースの URL を取得します。これには、クエリ文字列が含まれます。 | |
ValidationRuleReferences | 要求に対して定義される検証規則への参照のコレクションを取得します。 | |
Version | 要求の HTTP バージョンを取得または設定します。 | |
WebTestRequestPluginReferences | 要求に対して定義される Web パフォーマンス テスト要求プラグインへの参照のコレクションを取得します。 |
このページのトップへ
メソッド
名前 | 説明 | |
---|---|---|
Clone | WebTestRequest オブジェクトの詳細コピーを作成します。 (WebTestItem.Clone() をオーバーライドします。) | |
Equals | 指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。) | |
Finalize | オブジェクトがガベージ コレクションにより収集される前に、そのオブジェクトがリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) | |
GetHashCode | 特定の型のハッシュ関数として機能します。 (Object から継承されます。) | |
GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) | |
InternalSetOutcome | RequestPlugin によって内部的に設定された結果を表します。 | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) | |
RuntimeClone | 実行時にこのオブジェクトの複製を返します。 (WebTestItem から継承されます。) | |
ToString | 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。) |
このページのトップへ
イベント
名前 | 説明 | |
---|---|---|
ExtractValues | ValidateResponse イベントの後に発生します。 | |
PostRequest | ValidateResponse イベントおよび ExtractValues イベントの後に発生します。 | |
PreRequest | 要求が送信される前に発生します。 | |
PreRequestDataBinding | このイベントは、データ バインディングが発生する前に発生します。 | |
ValidateResponse | 応答の受信後すぐに発生します。 | |
ValidateResponseOnPageComplete | このイベントは、ページが完全にロードされた後に発生します。これを使用して、応答が有効であったことが確認されます。 |
このページのトップへ
解説
このクラスは、コード化された 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()
{
WebTestRequest request1 = 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
スレッド セーフ
この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。 インスタンス メンバーの場合は、スレッド セーフであるとは限りません。
参照
参照
Microsoft.VisualStudio.TestTools.WebTesting 名前空間