我正在使用uservoice的应用程序。 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];
...
此javascript已加载到所有页面上。运行
rake spec
时,运行将定期挂起。当我删除uservoice代码段时,所有测试都能顺利进行。我尝试设置Capybara.javascript_driver = :webkit_debug
,但没有看到uservoice的响应。当我设置page.driver.browser.timeout
时,我可以看到uservoice的响应为0,并且规范将因超时错误而失败。还有其他人遇到这个问题吗?
最佳答案
当我的开发机器与互联网断开连接时,我在等待外部脚本(例如Google Analytics(分析))引导时遇到超时错误。
在尝试调试 capybara 时,有时仍会使用Firebug和Selenium驱动程序,因为它可能会启发您看到实际的浏览器。
关于javascript - 当将capybara-webkit与加载async = true的外部脚本的页面一起使用时,Rspec会定期挂起,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15588234/