多数の Web パフォーマンス テストを含む Visual Studio 2010 負荷テストがあります。Web パフォーマンス テストを実行するには、テスト対象の Web サイトにログインする必要があります。したがって、負荷テストには初期化ステップが含まれます。これは、ログインを行い、プラグインを使用して取得した Cookie をキャッシュする小さな Web パフォーマンス テストです。「実際の」Web パフォーマンス テスト - 実際に機能するテストには、キャッシュされた Cookie を読み取ってテストに追加するプラグインがあり、各テストが正しく機能します。
public override void PreWebTest(object sender, PreWebTestEventArgs e)
{
if (CookieCache.Cookies != null) // CookieCache is a static class of mine
e.WebTest.Context.CookieContainer.Add(CookieCache.Cookies);
問題は、負荷テストを実行すると、これはすべて問題なく機能しますが、負荷テストの初期化子が実行されていない場合、Cookie がないため、Web パフォーマンス テストを分離して実行できないことを意味します。パフォーマンス テストはログインされず、失敗します。
この状況に推奨される解決策はありますか? 言い換えれば、Web パフォーマンス テストにログインする必要がある場合、それを分離して実行する方法と、負荷テストの一部として実行する方法はありますか?
各 Web パフォーマンス テストを分離して実行する明白な方法は、最初にログイン テストを呼び出すことですが、それは負荷テスト (ユーザーごとに 1 回だけログインする必要がある場合) の動作が正しくないため、実行できません。 、負荷テストの開始時)。