2

我希望在我的网络应用程序中测试 WebRTC 功能。这需要接受浏览器的许可提示才能访问相机和/或麦克风。这可能与 Casper.js 和 Slimer.js 有关吗?我在文档中找不到任何表明它是可行的东西。

有些相关(类似问题,不同平台):接受浏览器权限对话框与 behat/mink

4

1 回答 1

4

虽然您不能以编程方式单击权限按钮,但 CasperJS/SlimerJS 将允许您为您在测试中使用的自动 Firefox 实例使用自定义配置文件。至少在WebRTC/getUserMedia权限提示的情况下,Firefox 允许您在配置文件的设置中禁用它们。

这就是你要做的。在你的 shell 中,使用 SlimerJS 创建一个新的配置文件:

slimerjs --createprofile nameOfYourNewProfileGoesHere

您的新配置文件已在您的 Firefox 配置文件目录中创建。要找到目录,您可以搜索刚刚创建的配置文件名称,或者转到 Firefox 和Help Menu > Troubleshooting Information. 在“配置文件文件夹”旁边单击“在 Finder 中显示”(或您平台的等效项)。

您的个人资料是一个名为 的目录asfd1234.nameOfYourNewProfileGoesHere,在该目录中编辑prefs.js文件并添加以下行:

user_pref("media.navigator.permission.disabled", true);

现在,当您运行 CasperJS 脚本(或直接运行 SlimerJS,我想——我只通过 Casper 进行了测试)时,您只需要指定配置文件。使用 CasperJS:

casperjs test --engine=slimerjs -P nameOfYourNewProfileGoesHere nameOfYourTestFile.js

这几乎太容易了!;)

于 2014-12-22T21:33:32.377 回答