我正在将rails 4.2.5.1与rspec和capybara一起使用。我的一项测试给出了以下信息

2016-01-28 08:56:07.805 webkit_server[31376:18902667] App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.


我认为原因已隔离到以下代码行

<audio id="bellAudio">
    <source src="/assets/ion-sounds/bell_ring.mp3" type="audio/mp3" autobuffer="autobuffer" />
    <source src="/assets/ion-sounds/bell_ring.ogg" type="audio/ogg" autobuffer="autobuffer"/>
</audio>


由以下咖啡脚本激活:

play_bell = ->
    $("#bellAudio")[0].load();
    $("#bellAudio")[0].play();


收到似乎是对本地服务器的访问的消息,这似乎很奇怪。如何防止此消息?如果答案是使用“向Info.plist添加一些内容”,该文件放在哪里?

最佳答案

我将mp3换成生成的mp3,但仍然收到了弃用消息,因此mp3并不是真正的安全问题。

我将webkit driver更改为poltergeist,并且测试成功,并且不再收到警告消息。所以我认为webkit只是一个问题。 This post提出了强有力的论据以转向Poltergeist。
这就是我解决问题的方式,即我现在使用poltergeist作为Capybara的网络驱动程序。

关于ruby-on-rails - 如何停止RSpec/Capybara中的App Transport Security错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35049009/

10-14 17:51