代码之家  ›  专栏  ›  技术社区  ›  Pete

使用Jasmine JavaScript测试框架时出现连接问题

  •  1
  • Pete  · 技术社区  · 15 年前

    当我尝试使用“rake jasmine:ci”命令通过Selenium运行示例javascript规范时,在Ubuntu上使用jasmine有一个问题。当net/http尝试连接到运行Selenium的端口时,我将定期收到一个“连接被拒绝”错误。我得到的回溯开始的一个例子是:

    Waiting for jasmine server on 44210...
    jasmine server started.
    Running: java -jar "/home/pete/.rvm/gems/ree-head/gems/selenium-rc-2.2.4/vendor/selenium-server.jar" -port 42168 > /dev/null
    ==> Waiting for Selenium RC server on port 42168... Ready!
    /home/pete/.rvm/rubies/ree-head/lib/ruby/1.8/net/http.rb:560:in `initialize': Connection refused - connect(2) (Errno::ECONNREFUSED)
    from /home/pete/.rvm/rubies/ree-head/lib/ruby/1.8/net/http.rb:560:in `open'
    from /home/pete/.rvm/rubies/ree-head/lib/ruby/1.8/net/http.rb:560:in `connect'
    from /home/pete/.rvm/rubies/ree-head/lib/ruby/1.8/timeout.rb:53:in `timeout'
    from /home/pete/.rvm/rubies/ree-head/lib/ruby/1.8/timeout.rb:93:in `timeout'
    from /home/pete/.rvm/rubies/ree-head/lib/ruby/1.8/net/http.rb:560:in `connect'
    from /home/pete/.rvm/rubies/ree-head/lib/ruby/1.8/net/http.rb:553:in `do_start'
    

    我试过在窗户上使用茉莉花,但似乎没有这个问题。正如我所说,这并不是每次我试图运行它时都会发生(每次它都选择不同的端口),但确实会发生很多。我有点搞不清楚为什么茉莉花会偶尔找到一些开放的端口,但却无法连接到这些端口。在配置方面,我是否可以做些什么来解决或解决这个问题?或者这是茉莉花的问题?

    任何帮助或想法都会受到赞赏。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Scott Burch    15 年前

    我通过在茉莉花外面添加硒来解决这个问题。无论如何,这可能是一个更好的解决方案。我的帖子见Jasmine Google Group。

        2
  •  1
  •   Frank Schwieterman    15 年前

    可能是TCP连接来自一个池,空闲时间足够长,也可以断开连接。如果服务器没有机会显式关闭连接,客户机将不会知道连接已断开,直到尝试+等待之后。解决方法是使用connection:closed-http头。