WebTestから継承するクラスのコードから実行設定->コンテキストパラメータにアクセスするにはどうすればよいですか?

goyo

VS2013、負荷テストがあります。この負荷テストを、開発、ステージング、本番などのさまざまな環境で実行できるようにしたいと考えています。サーバーのURL、ログイン情報など、実行時に環境固有の情報を渡せるようにしたいので、構成パラメーターまたはコンテキストパラメーターのいずれかを考えていました。コンテキストパラメータ(https://msdn.microsoft.com/en-us/library/ff406971(v=vs.120).aspxを追加する方法についてはたくさんの情報がありますが、そのパラメータにアクセスする方法についてはありません。誰かが私を正しい方向に向けることができますか?コンテキストパラメータは仕事に適したツールですか?

goyo

VS負荷テストに「構成」を追加するために私が思いつくことができる最善の方法は、コンテキストパラメーターを使用することです。これを行うには、次のことを行う必要があります。

  1. コンテキストパラメータを追加します(目的の実行設定を右クリックします)。
  2. 次に、コード化されたWebTestを介してこれらのパラメーターにアクセスできるようにするには、負荷テストプラグインクラスを作成する必要があります(以下のプラグインクラスを参照)。
  3. 最後に、このプラグインを負荷テストに追加する必要があります(負荷テストのルートノードを右クリックします)。

このクラスは、コード化されたWebTestでアクティブな実行設定のコンテキストパラメーターをすべて追加します。

using System;
using Microsoft.VisualStudio.TestTools.LoadTesting;

namespace VerificationLoadTest
{
    public class ContextParameterLoadTestPlugin : ILoadTestPlugin
    {
        LoadTest LoadTest;
        public void Initialize(LoadTest loadTest)
        {
            this.LoadTest = loadTest;
            this.LoadTest.TestStarting += new EventHandler<TestStartingEventArgs>(TestStarting);
        }

        void TestStarting(object sender, TestStartingEventArgs e)
        {
            foreach (string key in LoadTest.Context.Keys)
            {
                e.TestContextProperties.Add(key, LoadTest.Context[key]);
            }
        }               
    }
} 

プロジェクトがコンパイルされ、プラグインが負荷テストに追加されると(上記のステップ3)、パラメーターは次のようにアクセスできます。

public class ContextParameterTest : WebTest
{
     public override IEnumerator<WebTestRequest> GetRequestEnumerator()
     {
          var serviceUrl = this.Context[ContextParamKey].ToString();
          WebTestRequest webTestRequest = new WebTestRequest(serviceUrl);

          ... build your request

          request.PostRequest += request_PostRequest;
          yield return request;
          request = null;
     }
}    

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ