Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in DevOps and Agile by (19.7k points)

For a Cucumber scenario on my Rails 3.1 app, I used the @javascript tag, so Selenium is activated. I get the following error:

Could not find Firefox binary (os=macosx). Make sure Firefox is installed or set the path manually with Selenium::WebDriver::Firefox::Binary.path= (Selenium::WebDriver::Error::WebDriverError)

If possible, I'd like to use Google Chrome as the browser - not Firefox (which I haven't installed). Is this possible? What could be done?

In fact, shouldn't Cucumber/Selenium detect a browser and use it?

====EDIT====

After adding

Capybara.register_driver :selenium do |app|

  Capybara::Selenium::Driver.new(app, :browser => :chrome)

end

...to features/support/env.rb, I now get this error:

Unable to find the chromedriver executable. Please download the server from http://code.google.com/p/chromium/downloads/list and place it somewhere on your PATH. More info at http://code.google.com/p/selenium/wiki/ChromeDriver. (Selenium::WebDriver::Error::WebDriverError)

  ./features/step_definitions/web_steps.rb:45:in `/^(?:|I )am on (.+)$/'

  features/update_memories.feature:11:in `Given I am on the home page'

I've downloaded from here, and I've tried putting the chromedriver executable in /usr/bin, but I still get the above error.

====EDIT 2====

After going one step further and running "sudo chmod +x /usr/bin/chromedriver" as suggested below, I now get a new error after running cucumber:

@javascript

  Scenario: navigate to memory update page from home page              # features/update_memories.feature:11

    Given I am on the home page                                        # features/step_definitions/web_steps.rb:44

      unable to connect to chromedriver http://127.0.0.1:57870 (Selenium::WebDriver::Error::WebDriverError)

      ./features/step_definitions/web_steps.rb:45:in `/^(?:|I )am on (.+)$/'

      features/update_memories.feature:12:in `Given I am on the home page'

    When I activate the edit memory switch for the memory "I played"   # features/step_definitions/memories/memory_steps.rb:5

    Then I should be on the edit memory page for the memory "I played" # features/step_definitions/web_steps.rb:187

      PGError: server closed the connection unexpectedly

        This probably means the server terminated abnormally before or while processing the request.

      : ROLLBACK (ActiveRecord::StatementInvalid)

Any help is appreciated! 

1 Answer

0 votes
by (62.9k points)

For capybara, add this to env.rb

app| Capybara::Selenium::Driver.new(app, :browser => :chrome) end

Download the Chrome driver executable and copy it in your path, e.g. /usr/bin/ and make it executable using this:

$ sudo chmod +x /usr/bin/chromedriver

If you are interested to learn Selenium on a much deeper level and want to become a professional in the testing domain, check out Intellipaat’s Selenium certification

Welcome to Intellipaat Community. Get your technical queries answered by top developers!

30.5k questions

32.6k answers

500 comments

108k users

Browse Categories

...