我正在使用 Java 和 Selenium 编写测试自动化框架。我正在本地运行测试,也使用 Browserstack。
接受测试的网站包括使用 PC 相机扫描文档和面部的功能。
我想伪造一个流,而不是使用 PC 的网络摄像头。
有没有人设法做到这一点?
我正在使用以下 Chrome 选项:
chromeOptions.addArguments("--use-fake-ui-for-media-stream");
chromeOptions.addArguments("--use-fake-device-for-media-stream");
chromeOptions.addArguments("--use-file-for-fake-video-capture=C:/deleteme/bus.y4m");
当我点击通常会打开网络摄像头的按钮时,网络摄像头没有打开,所以看起来它正在做某事。但是我的视频不能播放。
有没有人让这些适用于类似于我的场景,并且可以提供有关如何操作的更多信息?
任何帮助,将不胜感激。谢谢。
最佳答案
我解决了将 mp4 文件转换为 mjpeg(这种格式也可以使用)的问题,并将我的 chromedriver 设置为与您相同,但使用的是文件的相对路径。
options.addArguments("--use-fake-ui-for-media-stream",
"--use-fake-device-for-media-stream",
"--use-file-for-fake-video-capture=src/test/resources/sample_640x360.mjpeg");
这个线程帮助我到达那里:https://stackoverflow.com/a/52188760/1843429
关于java - 如何伪造流到 Chrome 而不是使用网络摄像头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58690624/