Javascript 当将capybara webkit与加载async=true的外部脚本的页面一起使用时,Rspec会定期挂起
我正在开发一个使用uservoice的应用程序。用户语音片段Javascript 当将capybara webkit与加载async=true的外部脚本的页面一起使用时,Rspec会定期挂起,javascript,rspec,capybara,freeze,capybara-webkit,Javascript,Rspec,Capybara,Freeze,Capybara Webkit,我正在开发一个使用uservoice的应用程序。用户语音片段 var uv = document.createElement('script'); uv.type = 'text/javascript'; uv.async = true; uv.src = ...; // external call to uservoice to fetch js var s = document.getElementsByTagName('script')[0]; ... 此java
var uv = document.createElement('script');
uv.type = 'text/javascript';
uv.async = true;
uv.src = ...; // external call to uservoice to fetch js
var s = document.getElementsByTagName('script')[0];
...
此javascript加载到所有页面上。运行rake spec
时,运行将定期挂起。删除uservoice片段后,所有测试都会顺利运行。我试过设置Capybara.javascript\u driver=:webkit\u debug
,但没有看到来自uservoice的响应。当我设置page.driver.browser.timeout
时,我可以看到来自uservoice的0响应,并且规范将因超时错误而失败
还有其他人遇到这个问题吗?当我的开发机器与internet断开连接时,我在等待外部脚本引导(例如google analytics)时遇到超时错误
当我试着调试capybara时,我仍然有时会使用firebug和selenium驱动程序,因为它可以照亮实际的浏览器。我也有类似的想法,但通过使用最新版本的ruby/capybara/rspec解决了这个问题。