水豚,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 
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...