Brayw
Brayw

Reputation: 125

Selenium Webdriver connection timing out while running automation tests

While running automation tests I sometimes get a timeout error for Selenium Webdriver (I think this is where the issue is at least). Me and my team have all recently migrated to Macbooks (from a combination of Windows and Ubunutu machines) and are all getting this behaviour.

While running a suite of tests I will (seemingly at random) get the following error output in the console:

Errno::ETIMEDOUT: Failed to open TCP connection to 127.0.0.1:9515 (Operation timed out - connect(2) for "127.0.0.1" port 9515)

This doesn't happen consistently, sometimes I'll run a pack and not have any such errors, sometimes I'll have multiple occurrences.

Here is the code which registers the driver (in case anything here points to what the issue could be):

Capybara.register_driver :selenium do |app|
  opts = Selenium::WebDriver::Chrome::Options.new
  opts.add_argument '--start-maximized'
  opts.add_argument 'disable-infobars'
  opts.add_argument '--disable-notifications'
  opts.add_preference(:safebrowsing,
                      enabled: true)
  opts.add_preference(:browser, set_download_behavior: { behavior: 'allow' })
  Capybara::Selenium::Driver.new(app, browser: :chrome, options: opts)
end

The gems I am using are Capybara (3.11.0), Cucumber (3.1.0) and Selenium-webdriver (3.141.0). I have ChromeDriver(73.0.3683.68) installed via HomeBrew

Has anyone encountered this issue and worked out what the cause is?

Upvotes: 0

Views: 1398

Answers (1)

Thomas Walpole
Thomas Walpole

Reputation: 49870

Port 9515 is the default port chromedriver runs on. If you happen to be using Chrome/chromedriver v74 try rolling back to 73 or forward to 75 - 74 has been reported to have issues where it will randomly hang.

Another potential solution is to upgrade to Capybara >= 3.16.0 which defaults to using a persistent connection to chromedriver. This would mean less opening/closing of connections and less chance for chromedriver to hang during connection establishment.

Upvotes: 1

Related Questions