测试 rspec feature test 导致 rails 服务器卡死

6233843 · 2014年05月07日 · 最后由 6233843 回复于 2014年05月25日 · 2334 次阅读

Hi,最近遇到一个非常奇怪的问题 我用 capybara + rspec feature test,当运行测试时,发现测试服务器卡住了,现象就是等待载入页面资源,可能是一个 js,或者 png 等,之前怀疑是 js 的问题,但发现测试卡住之后,用其他浏览器访问时同样出现卡住得情况,而且服务器 log 没有任何更新,所以判断是服务器卡住了。更奇怪的事时好时坏,而且没有任何代码改动,不知道大家遇到过么?

系统:mac 10.9.2 ruby: 2.1.0 rails: 4.0.2 rspec: 2.14.1 rspec-rails: 2.14.1 capybara: 2.2.0

更新一下,发现问题,但目前没有好的解决办法 发生服务器卡是因为页面上有两个 iframe,这两个 iframe 都向服务器请求页面。服务器就是在 render 这两个 iframe 的时候卡住得。但是用 rails s 启动开发环境或者产品环境都是好的 目前我的解决办法是把 iframe 删掉,然后运行测试,测试失败,再恢复 iframe,运行测试就好了。 实在不知道在 spec/feature 运行时,后台 capybara 启动的 server 到底有什么问题。。。

试着换一下 driver,selinium 不行就换 webkit,webkit 不行就 Poltergeist。反正就是一行代码的事。

我是觉得 Poltergeist 是最好的,虽然很少写 Capybara 了。

#2 楼 @billy 谢谢回复,我会尝试换 driver 的。不过我不觉得是 driver 的问题,因为毕竟 driver 是控制浏览器的,而我说的现象是 rails 服务器被 iframe 请求卡住。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号