Капибара + Селен - PullRequest
       16

Капибара + Селен

3 голосов
/ 14 апреля 2011

Когда я запускаю свои тесты с использованием 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 драйвер).

Есть идеи?

1 Ответ

7 голосов
/ 20 апреля 2011

Я только что столкнулся с той же проблемой, но нашел решение.

Если вы попытаетесь открыть свой браузер с "http://127.0.0.1:3000" в режиме разработки, вместо" http://localhost:3000",, вы должны столкнуться с той же проблемой.

В моем случае проблема была вызвана тем, что в моем файле View я использовал «request.domain», который возвращает nil, если запрос передается в IP-подобном формате, т.е. «http://127.0.0.1:50752".

Поэтому, если где-то в ваших взглядах на вспомогательные методы у вас есть что-то подобное

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

Это самое простое решение, которое сработало для меня. Возможно, у вас есть что-то похожее.

...