Question

I've recently installed culerity to use on top of cucumber. But when I run my cucumber specs, they turn red (they were all green before).

The errors I get have this form:

Celerity::Exception::NavigationException: com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException: 500 Internal Server Error for http://localhost:3001/ (Culerity::CulerityException) features/admin.feature:82:in `And I am logged in'

When I look at the web server console (launched by rake culerity:rails:start), the error is:

ERROR Errno::EPIPE: Broken pipe

I've noticed that these errors happen whenever I have cucumber steps (like "go to") that do $browser.goto.

Any idea ?

PS: I have made sure that JRuby is installed and in my path

Was it helpful?

Solution

i believe that an upgrade of jruby to a version matching the patch level of ruby that we were running solved our issue, we had to install jruby from source to get the right one

OTHER TIPS

This is what the readme for the gem states:

I get a broken pipe error:

    * make sure JRuby is installed and in your path: running jruby -v should not 
produce an error

maybe this is related to the issue that i experienced: http://github.com/langalex/culerity/issues/#issue/29

We ran into a similar problem (broken pipe) with a Rails app on Bundler:

server = Culerity::run_server

didn't actually start the server, leaving

Culerity::RemoteBrowserProxy.new(server, …)

high and dry.

Turns out Bundler messes with RUBYOPT env var (see how Bundler modifies the environment for details), bin/run_celerity_server.rb (from the culerity gem) runs with JRuby as interpreter and JRuby honors RUBYOPT.

As Bundler is not a JRuby gem, the script does not start the server. Culerity::run_server must be invoked in a Bundler-free environment (i.e., with a clean RUBYOPT)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top