我希望在我的网络应用中测试WebRTC功能。这需要接受浏览器的权限提示才能访问摄像头和/或麦克风。这可能与Casper.js和Slimer.js有关吗?我无法在文档中找到任何表明它可行的内容。
有些相关(类似问题,不同平台):Accept browser permission dialog with behat/mink
答案 0 :(得分: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
这太简单了! ;)