Normally I use the rails dev server at port 3000.
Capybara/Cucumber uses Capybara.server_port = 31337
. If I swap from the default driver to selenium, it looks like it tries to connect on port 80.
I'm trying to understand:
- When using selenium, do I need to separately instantiate a test server on the test environment.
- If the answer to the above question is yes, how can I make it so I can seamlessly swap between web drivers without having to keep changing things?
If someone has an example of a env.rb configuration that would help please let me know!
Thanks!
Chris.
If you use selenium, you should start web server in test environment. You can start it on a different port from development. Then you should configure Capybara to use that port:
If you don't want to start server every time before you run your cucumber scenarios I suggest you to use capybara webkit driver. All javascript scenarios will run at background. It also will work on continuous integration server.
If you are on Linux platform, capybara-webkit requires an X server to run. To setup it you can use headless gem. Here is headless configuration for cucumber:
This may or may not answer your question, but here's my env.rb file (the relevant bits).
I also have this in there:
Maybe you can have the Capybara.app_host and .server_port lines inside the register_driver bit and switch driver in your Cucumber scripts. :/