水豚+硒

当我使用Selenium运行测试时,我的第一步失败了,并且页面在浏览器中如下所示:
Internal Server Error

can\'t convert nil into String
WEBrick/1.3.1 (Ruby/1.9.2/2010-08-18) at 127.0.0.1:50752
当我以愚蠢的态度运行它时,我得到的输出是:
    Broken pipe (Errno::EPIPE)
          /Users/yuval/.rvm/gems/ruby-1.9.2-p0/gems/culerity-0.2.15/lib/culerity/remote_object_proxy.rb:47:in `write\'
etc...
当我在没有js驱动程序的情况下运行它时,它一点都不会失败(相反,在使用js时它会失败,这就是为什么我试图使用js驱动程序来运行它)。 有任何想法吗?     
已邀请:
我只是遇到了同样的问题,但是找到了解决方案。 如果您尝试在开发模式下使用\“ http://127.0.0.1:3000 \”而不是\“ http:// localhost:3000 \”打开浏览器,则应该遇到相同的问题。 在我的情况下,这是引起问题的原因,因为在我的View文件中,我使用了\“ request.domain \”,如果以类似IP的格式(即\“ http://127.0.0.1:50752 \”)发出请求,则返回nil。 因此,如果在您的助手方法视图中某处有类似这样的内容
link_to \"Click me\", :host => subdomain + \".\" + request.domain + request.port_string
您可以将其更改为使用助手方法,如下所示:
link_to \"Click me\", :host => with_host(subdomain)
和助手一样,如下所示:
  def with_host(subdomain)
    if request.domain.present?
      subdomain + \".\" + request.domain + request.port_string
    end
  end
这是最适合我的解决方案。也许,你有类似的东西。     

要回复问题请先登录注册