Selenoid является заменой сетки селена и управляет экземплярами браузера, которые вы используете для тестирования.Это не имеет ничего общего с запуском тестируемого приложения.
Проблема, с которой вы сталкиваетесь, заключается в том, что Capybara запускает приложение на машине, на которой вы выполняете тесты, но при использовании selenoid браузеры работают на других машинах (контейнерах).Это означает, что когда Capybara запускает приложение и сообщает браузеру посетить https://localhost:<some port>/some/path
, ссылка localhost
больше не подходит для браузеров, работающих на других машинах.Чтобы исправить это, вам нужно установить Capybara.app_host
на URL, где выполняются тесты, как видно из машин / контейнеров, на которых запускаются экземпляры браузера.В зависимости от того, как именно сконфигурирована ваша контейнерная сеть, вам также потребуется либо исправить порт, используемый Capybara для запуска приложения, либо указать параметр Capybara.always_include_port
.
Capybara.app_host = "http://local_machine_as_seen_from_containers"
Capybara.always_include_port = true
или
Capybara.server_port = 1234 # some port number
Capybara.app_host = "http://local_machine_as_seen_from_containers:#{Capybara.server_port}"