水豚、Rails、硒、Chromedriver + ERR:CONNECTION_REFUSED

Capybara, Rails, Selenium, Chromedriver + ERR:CONNECTION_REFUSED

我在 Rails 应用程序中使用 Selenium Webdriver 设置 Capybara,并且 运行 出现以下错误:

Helpdesk Ticketing System assigning a ticket should mark ticket as assigned
     Failure/Error: visit tickets_path
     
     Selenium::WebDriver::Error::UnknownError:
       unknown error: net::ERR_CONNECTION_REFUSED
         (Session info: chrome=85.0.4183.102)

我的设置如下:

Capybara.server = :puma
Capybara.app_host = 'http://intranet.lvh.me'
Capybara.default_driver = :selenium_chrome_headless

在失败前的日志中显示,每次运行时选择不同的端口:

Capybara starting Puma...
* Version 4.3.6 , codename: Mysterious Traveller
* Min threads: 0, max threads: 4
* Listening on tcp://127.0.0.1:56277

有人帮忙吗?

我解决了我的问题。我失踪了:

Capybara.always_include_port = true

我在 environments/test.rb 中设置了路由级别 URL 默认值,并且该选项适用于应用程序的所有部分。

当我删除下面显示的行时,我的所有测试再次通过。

# environments/test.rb
Rails.application.routes.default_url_options = { 
  host: "server.localhost", 
  port: 3000 
}