私はリクエストを送信し、その応答がSignalRで来ると予想していますが、これはVisual StudioでLoadTestまたはPerformanceTestを使用してテストできますか?WebTest for SignalRは可能ですか?
答えて
SignalRアプリケーションをロードする最も良い方法は、ソースに含まれているcrank projectをビルドすることです。
これは.Netクライアントで構築された単純なランプアップソリューションですが、必要なハブメソッドを呼び出して応答を分析するのは比較的簡単です。
必要に応じて詳細なプロファイリングデータを取得するために、Visual Studioプロファイラをiis expressインスタンスに添付することができます。
短い答え:はい
私はCodedWebTestsでこれを数回やったが、また、宣言WebTestの中で行うことが可能であろう。カスタムPreWebTestイベントハンドラを使用して、signalRクライアントを作成し、SignalRハブに接続することができます。 signalR通知で行うことはあなた次第ですが、私はWebTestContextに保存し、AddCommentToResultメソッドを使用してテスト結果画面に表示するのが好きです。
以下のメソッドは、hubConnectionを作成してハブに「addToGroup」関数を呼び出し、クライアントにメッセージを受け取ったときに何をするかを指示します。
using Microsoft.AspNet.SignalR.Client;
public class SignalRPlugin : WebtTestPlugin
{
public override void PreWebTest(object sender, PreWebTestEventArgs e)
{
var hubConnection = new HubConnection("yourSignalRUrl");
var hubProxy = hubConnection.CreateHubProxy("notifications");
hubConnection.Start().Wait();
hubProxy.Invoke("addToGroup", "me");
hubProxy.On<string>("message", s =>
{
e.Webtest.AddCommentToResult(s);
e.Webtest.Context.Add("signalRMessages", s);
});
}
}
テストコンストラクタにイベントハンドラを添付して使用します。
public MyWebTest()
{
PreWebTest += new SignalRPlugin().PreWebTest;
}
次にsignalRメッセージを取得したら、カスタム検証ルールを使用して応答が受信されたことを検証できます。 「signalRMessages」キーのWebTestContextをwhileループでチェックするだけです。
CodedWebTestsを書く場合のもう1つの選択肢は、基本的に検証と同じことを行うWaitForNotificationsメソッドを作成することです。タイムアウト機能を追加することを強くお勧めします。ルール。この利点は、抽出ルールを使用して最後の応答からデータを取り出し、そのデータを使用してsignalRメッセージを検証できることです。 WaitForNotificationメソッドでテストに失敗する必要がある場合は、WebTest.InternalSetOutcome(Outcome.Fail)を使用します。
- 1. SignalRでビデオをストリーミングすることは可能ですか?
- 2. セッション固有のSIgnalR接続は可能ですか?
- 3. TeamCity&.webtest
- 4. HttpModuleを使用してSignalRを認証することは可能です
- 5. Xamarin + SignalR(送信は可能ですが、メッセージを受信していません)
- 6. Mobile for SharepointサイトでNTLM認証が可能ですか?
- 7. サーバ側のSignalR機能を別のアセンブリに組み込むことは可能ですか?
- 8. SignalR Page Refreshにより複数の接続が可能
- 9. forループのインデックス付けは負の値で可能です
- 10. SignalR、機能ではありません
- 11. forループを後方から開始することは可能ですか
- 12. Liberty Profile Docker for last version 16.0.0.4が利用可能ですか?
- 13. SignalRはHub.Contextスレッドセーフですか?
- 14. C++で静的forループを開発することは可能ですか?
- 15. ワンライナーは可能ですか?
- 16. 拡張可能/カスタマイズ可能/ Modular Lightweight Markup for PHP
- 17. QtCreator for windows:64ビットの.exeをビルドすることは可能ですか?
- 18. forループをftpスクリプトに挿入することは可能ですか?
- 19. forループの最後のインデックスをチェックする方法は可能ですか?
- 20. TypeError: 'int'オブジェクトは反復不可能です - forループのカウンタ変数の機能は何ですか?
- 21. django-webtestとseleniumの違い
- 22. .webtestテストを実行すると、 ".webtestは有効な拡張子ではありません"
- 23. C++可変マルチタイプは可能ですか?
- 24. 可変変数は可能ですか?
- 25. 変更可能な変数はクロージャからアクセス可能です
- 26. ダイレクトコールは可能ですか?
- 27. StageWebViewは可能ですか?
- 28. タイプファミリーインスタンスプルーフは可能ですか?
- 29. Html.pagedListPagerは可能ですか?
- 30. クロスウィンドウドメインスクリプトは可能ですか?