-2

Visual Studio 2012 を使用して Web テストを作成します。

Web テスト レコーダー プラグインからフォーム ポスト パラメーターにアクセスするにはどうすればよいですか? 記録された Web テストのほとんどの側面は、Visual Studio の intelisense または MSDN から表示できますが、フォーム ポスト パラメーターが見つかりません。

「興味深い」方法でフォーム ポスト パラメータを使用する Web サイトをテストしています。これまでのところ、.webtest ファイルの XML を手動で編集しましたが、エラーが発生しやすくなっています。そこで、Web テスト レコーダー プラグインでそれらを変更したいと思います。

4

3 に答える 3

2

フォーム ポスト パラメーターは、Web リクエストの body フィールドを介して Web テスト レコーダー プラグインでアクセスできますが、body は正しい型にキャストする必要があります。レコーダー プラグインは、記録された Web テストを (a のフィールド) パラメーターとして提供しItems、テストの には個々の要求が含まれます。また、コメントなども含まれます。であるには、キャスト後にフォーム ポスト パラメータを提供するフィールドが含まItemれるWebTestRequest場合があります。このコードは、ここには示されていないメソッドをBody介してフォーム ポスト パラメーターの詳細を表示するプラグインを示しています。WriteLine内側のループは、新しいフォーム ポスト パラメータを変更または削除または追加するコードに置き換えることができます。

public override void PostWebTestRecording(object sender, PostWebTestRecordingEventArgs e)
{
    foreach (WebTestItem wti in e.RecordedWebTest.Items)
    {
        WebTestRequest wtiwtr = wti as WebTestRequest;

        if (wtiwtr != null)
        {
            FormPostHttpBody formBody = wtiwtr.Body as FormPostHttpBody;

            if (formBody == null)
            {
                // no formBody.
            }
            else
            {
                WriteLine("Have {0} form post parameters", formBody.FormPostParameters.Count);
                foreach (FormPostParameter fpp in formBody.FormPostParameters)
                {
                    WriteLine("FPP '{0}' = '{1}'", fpp.Name, fpp.Value);
                }
            }
        }
    }
}

wti記録された Web テストの他のいくつかの部分には、コード内のこれらのキャストを介してアクセスできます。

Comment wtic = wti as Comment;
IncludedWebTest wtiiwt = wti as IncludedWebTest;
SharepointInformation wtispi = wti as SharepointInformation;
TransactionTimer wtitt = wti as TransactionTimer;
WebTestConditionalConstruct wtiwtcc = wti as WebTestConditionalConstruct;
于 2014-08-13T18:39:05.200 に答える