リモート試験、ウェブカメラチェック、オンラインビデオ会議Webツールなど、Web会議サービス(WebRTC)を提供するWebブラウザアプリケーションのパフォーマンステストは複雑になる場合があります。

たとえば、100人以上の参加者がオンラインビデオ会議プラットフォームに接続され、同時に話したりストリーミングしたりした場合のシステムの動作を確認することができます。 手動テストは、時折のチェックや小規模な負荷テストのオプションである場合もありますが、テスト担当者とハードウェアの数が限られている場合、すべてのシナリオをカバーし、継続的な監視と負荷テストを実装することは困難です。 このタスクを容易にするために、Dotcom-Monitor では、ブラウザー ウィンドウで Web 会議のロード テストと監視を行い、最も現実的なテスト結果を提供できる新しい Web カメラとマイクのエミュレーション機能が導入されています。

WebRTCの詳細と、WebRTCによる負荷テストと監視の最も効果的なアプローチについては、ブログ記事「 WebRTC Load Testing Explained 」をご覧ください。

この記事では、Dotcom-Monitor による EveryStep スクリプト ツール デスクトップ を使用して、オーディオおよびビデオ ストリーミング エミュレーション機能をテスト スクリプトに追加する方法を学習します。

どのように動作するか

一言で言えば、Dotcom-Monitor は、ターゲット Web アプリケーションがエンド ユーザー デバイス上の Web カメラとマイクへのアクセスを要求するたびに、ブラウザーでビデオとオーディオ ストリームをエミュレートします。 これを行うには、Chromeブラウザで事前に記録された一連のユーザートランザクションを実行し、カスタムオーディオ/ビデオファイルを使用して事前に記録されたメディアを渡します。

ドットコムモニターは、ローカルで利用可能なストレージを持っていません。 メディア ストリーミング手順を実行する前に、オンラインで公開されているファイル ストレージからメディア ファイルをスクリプトに配信する必要があります。 Dotcom-Monitor は、スクリプトが実行されるたびに、指定された URL からシステムにファイルをダウンロードし、ブラウザー ウィンドウで再生して、ビデオとオーディオのキャプチャ ハードウェアをエミュレートします。

メディア ファイルをテストするための特定の要件がない場合は、Dotcom-Monitor CDN ストレージからスクリプトに直接ダウンロードできるテスト ファイルを使用することをお勧めします。

オーディオファイル ビデオ ファイルのロード テスト ビデオファイルの監視
10秒 10s.y4m
30秒 30sec.wav 30代4分
1分 1min.wav 1min.y4m

カスタムメディアファイルの使用

ロード テストでは、テストで使用するファイル ストレージ システムに、テスト実行中に負荷を維持するのに十分な容量があることを確認してください。 そうしないと、テストの実行中にファイルのダウンロード関連のエラーが発生する可能性があります。 Web パフォーマンス監視シナリオでは、非常に信頼性の高いストレージ システムを使用して、テスト メディアへのシームレスなアクセスと高速な読み込み時間を確保することも重要です。

Dotcom-Monitor へのメディア ファイルの配信を最適化するためのベスト プラクティスとして、ロード テストまたは監視を実行する場合は、テスト メディア ファイルを信頼できる CDN ストレージにアップロードすることをお勧めします。

サポートされているファイル形式とサイズ制限

メディア ファイルのサイズ制限は、Web 監視スクリプトの場合は 20 MB、ロード テスト スクリプトの場合は 150 MB です。

現在、テスト目的で次のメディアファイル形式をサポートしています。

ビデオファイルの場合:

YUV4MPEG2 (a.k.a. Y4M)

ファイル形式の詳細については、こちらを参照してください: http://wiki.multimedia.cx/index.php?title=YUV4MPEG2

オーディオファイルの場合:

WAV

記録スクリプトステップバイステップガイド

まず、デスクトップ版の EveryStep スクリプトツールをダウンロードします。 このツールをインストールして使用する方法については、Wikiの 「EveryStep スクリプトツールデスクトップの使用」 の記事を参照してください。

デスクトップ バージョンの EveryStep レコーダーで、ターゲット Web 会議アプリケーションへのナビゲーションを記録し、メディア ストリーミング セッションを開始します (たとえば、[ビデオの開始] または [Web カメラへのアクセスを許可する] をクリックします)。 次に、スクリプトを保存します。

メディア ストリーム エミュレーション手順を追加するには、Web アプリのナビゲーション行の前に次のメソッドを追加します。

tab0.Download (string  wavFileName, string wavFileURL);
tab0.Download (string  y4mFfileName, string y4mFileURL);
UseFileForFakeMediaCapture (MediaType.Camera, string  y4mFileName);
UseFileForFakeMediaCapture (MediaType.Microphone, string  wavfileName);

パラメータ定義

wavFileName 文字列 – オーディオ エミュレーション用の.wavファイル名

y4mファイル名文字列 – ビデオエミュレーション用の.y4mファイル名

wavFileURL 文字列 – オーディオ ファイルの URL

y4mファイルURL 文字列 – ビデオファイルのURL

ファイル名がスクリプト全体で一貫していることを確認します。

メディア ストリーミング ステップ用に追加の時間を予約するには、メディア ストリーミング ステップの最後に 遅延 行を追加します。

以下のスクリプトサンプルを見つけてください。

// script_version=3.0; everystep_version=4.0.8370.4032; date=4/23/2023; Chrome=104.0.5112.57; Use System Credentials
Tabs.SetSize (1768, 876);
DMBrowser tab0 = null;
Step (1, "Webcam Test - Check Your Camera With Our Online Tool - https://www.onlinemictest.com/webcam-test/");
tab0 = Tabs.NewTab ();
//Download a test audio file
tab0.Download ("30sec.wav", "https://d149yd38g6ldk.cloudfront.net/30sec.wav");
//Download a test video file
tab0.Download ("WebCam30s.y4m", "https://d149yd38g6ldk.cloudfront.net/WebCam30s.y4m");
//Emulate a webcam video stream and mic audio
UseFileForFakeMediaCapture (MediaType.Camera, "WebCam30s.y4m"); 
UseFileForFakeMediaCapture (MediaType.Microphone, "30sec.wav");
tab0.GoTo ("https://www.onlinemictest.com/webcam-test/");
//Click a button to allow access to webcam
tab0.Div ("//DIV[@ID=\"webcam-start\"]", "//DIV[@ID=\"fullscreen_close\"]/following-sibling::DIV[1]", "//DIV[@ID=\"fullscreen_open\"]/following-sibling::DIV[2]").Click ();
Delay ("10sec".ToDuration ());