在 capybara-webkit 中禁用声音

Posted

技术标签:

【中文标题】在 capybara-webkit 中禁用声音【英文标题】:Disable sound in capybara-webkit 【发布时间】:2017-05-24 16:24:02 【问题描述】:

我正在运行一个网站注册规范

Capybara.javascript_driver = :webkit

我注意到,当测试完成注册时,“注册成功”声音(从“正常”浏览器注册时可以听到的声音)响起。

我认为这是正常行为,但我的问题是:

有没有办法? 有没有办法让浏览器实例静音?

比如我们不想加载图片,我们使用config.skip_image_loading

【问题讨论】:

如果您知道声音是如何创建的(例如 <audio> 节点),您可以通过 Javascript (execute_script) 将其静音。见disable-sound-in-browser-window-with-js-or-jquery 【参考方案1】:

似乎capybara-webkit 没有公开此设置,因为Qtcapybara-webkit 依赖于Qt 的WebKit 实现)也没有公开它。

参考:https://github.com/thoughtbot/capybara-webkit/issues/555

但您可能可以通过其他方法实现它,例如:

执行javascript删除音频标签或静音播放器:

page.execute_script("your_js_here")

屏蔽音频网址:

config.block_url("example.com/path_to_audio_files/*")

【讨论】:

以上是关于在 capybara-webkit 中禁用声音的主要内容,如果未能解决你的问题,请参考以下文章

在android中禁用按钮单击声音

如何在Ubuntu启动时禁用声音效果?

如何在我的自定义应用程序中禁用 flashplayer 上的声音?

在 Android 的正在进行的通知更新中禁用声音

是否可以在 iOS 7 上从我的应用程序中禁用推送通知声音?

如何禁用 Qt QMessageBox 播放的声音?