リモート試験、ウェブカメラチェック、オンラインビデオ会議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 監視スクリプトの場合は 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);
メディア ストリーミング ステップ用に追加の時間を予約するには、メディア ストリーミング ステップの最後に 遅延 行を追加します。
以下のスクリプトサンプルを見つけてください。
// 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 ());