I am trying to run some acceptance tests for javascript code. However, when I tried using Capybara with Selenium, I kept getting the following:
>> Thin web server (v1.3.1 codename Triple Espresso)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:1234, CTRL+C to stop
FF>> Thin web server (v1.3.1 codename Triple Espresso)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:1234, CTRL+C to stop
F
Failures:
1) end to end acceptance test shows that x wins when it does
Failure/Error: @application.start
Selenium::WebDriver::Error::WebDriverError:
Unable to find the chromedriver executable. Please download the server from http://code.google.com/p/chromedriver/downloads/list and place it somewhere on your PATH. More info at http://code.google.com/p/selenium/wiki/ChromeDriver.>> Thin web server (v1.3.1 codename Triple Espresso)
# ./spec/acceptance/application_driver.rb:24:in `start'
# ./spec/acceptance/end_to_end.rb:6:in `block (2 levels) in <top (required)>'
The code below is what is supposed to start the driver. I downloaded the appropriate file from http://code.google.com/p/chromedriver/downloads/list and I placed it in my Path by running PATH=$PATH:/directory/where/chromedriver/exists and export PATH, and made it executable but still got the error. Is there something I am missing?
Capybara.register_driver :chrome do |app|
Capybara::Selenium::Driver.new(app, :browser => :chrome)
end
Capybara.default_driver = :chrome
class TicTacToeApplicationDriver
include Capybara::DSL
include Capybara::RSpecMatchers
APPLICATION_PORT = 1234
def initialize
@application_server = ApplicationServer.new
end
def start
@application_server.start
visit "http://localhost:#{APPLICATION_PORT}/index.html"
end