提供 Web 会议服务 (WebRTC) 的 Web 浏览器应用程序(例如远程考试、网络摄像头检查或在线视频会议 Web 工具)的性能测试可能很复杂。
例如,您可能想要检查当超过 100 名参与者连接到您的在线视频会议平台并同时通话和流式传输时系统的行为方式。 虽然手动测试可能是偶尔检查或小型负载测试的一种选择,但当您的测试人员和硬件数量有限时,很难涵盖所有方案并实现连续监视和负载测试。 为了简化此任务,Dotcom 监视器引入了新的网络摄像头和麦克风仿真功能,该功能允许在浏览器窗口中进行 Web 会议负载测试和监视,以提供最真实的测试结果。
请访问我们的博客文章 WebRTC 负载测试解释 ,了解有关 WebRTC 以及使用 WebRTC 进行负载测试和监控的最有效方法的更多信息。
在本文中,我们将学习如何使用Dotcom-Monitor的每个 步骤脚本工具桌面 将音频和视频流仿真功能添加到测试脚本中。
工作原理
简而言之,每次目标 Web 应用程序请求访问最终用户设备上的网络摄像头和麦克风时,Dotcom 监视器都会在浏览器中模拟视频和音频流。 为此,我们会在 Chrome 浏览器中运行预先录制的用户交易序列,并使用自定义音频/视频文件来传递预先录制的媒体。
Dotcom 监视器没有本地可用存储。 在执行媒体流步骤之前,您需要将媒体文件从在线公开可用的文件存储传递到脚本。 每次执行脚本时,Dotcom 监视器都会将文件从提供的 URL 下载到我们的系统,并在浏览器窗口中播放它以模拟视频和音频捕获硬件。
如果您对测试媒体文件没有特殊要求,我们建议使用可从 Dotcom 监视器 CDN 存储直接下载到脚本的测试文件:
音频文件 | 视频文件加载测试 | 视频文件监控 | |
10 秒 | – | – | 10s.y4米 |
30 秒 | 30sec.wav | 30s.y4米 | – |
1 分钟 | 1min.wav | 1min.y4m | – |
支持的文件格式和大小限制
Web 监视脚本的媒体文件大小限制为 20 MB,负载测试脚本的媒体文件大小限制为 150 MB。
我们目前支持以下媒体文件格式用于测试目的。
对于视频文件:
YUV4MPEG2 (a.k.a. Y4M)
您可以在此处找到有关文件格式的更多信息: http://wiki.multimedia.cx/index.php?title=YUV4MPEG2
对于音频文件:
WAV
录制脚本分步指南
首先,下载桌面版本的“每个步骤脚本工具”。 请参阅我们 wiki 的“ 使用每个步骤脚本工具桌面” 一文中有关如何安装和使用该工具的方法。
在桌面版本的“每个步骤记录器”中,记录到目标 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 ());