WSL Rails соединение Selenium Chromedriver отказано для локального хоста 9515 - PullRequest
0 голосов
/ 16 февраля 2020

При запуске тестов функций огурца в Rails на WSL возвращается:

Не удалось открыть TCP-соединение с localhost: 9515 (соединение отклонено - connect (2) для порта "localhost" 9515) (Errno: : ECONNREFUSED)

После попытки запустить Selenium в Ubuntu безуспешно, тогда чтение этой статьи Chrome не запускается в WSL (Ubuntu 18.04) с "Файл DevToolsActivePort не существует" под Chromedriver я пробовал эту конфигурацию:

Capybara.register_driver :windows_chrome do |app|
  capabilities = Selenium::WebDriver::Remote::Capabilities.chrome()
  Capybara::Selenium::Driver.new(app,browser: :chrome, url: 'http://localhost:9515',
                                     desired_capabilities: capabilities)
  end
Capybara.javascript_driver = :windows_chrome
Capybara.default_max_wait_time = 5 # Seconds
  • Windows 10 Версия 10.0.19041.84
  • Chrome установлена ​​в Windows Версия 80.0.3987.106 (Официальная Build) (64-разрядная версия)
  • Chromedriver 80.0.3987.16 в Windows 10 на порту 9515
  • Посещение localhost: 9515 в Chrome возвращает: {"value": {"error" : "неизвестная команда", "mes ...
  • Ubuntu 18.0.4
  • cat /etc/resolv.conf возвращает: 172.19.160.1
  • Ruby 2.6. 3p62
  • Rails 6.0.1
  • capybara (3.29.0)
  • selenium-webdriver (3.142.6)
  • webdrivers (4.1. 3)
  • статус sudo ufw возвращается: Состояние: неактивно
  • Windows Брандмауэр отключен
  • Windows Защитник отключен
  • антивирус не работает

эхо 'Это работает' | n c -4 -v localhost 9515 n c: сбой подключения к локальному порту 9515 (tcp): соединение отклонено

echo 'Это работает' | n c -4 -v 172.19.160.1 9515 n c: не удалось подключиться к порту 1715.19.160.1 9515 (tcp): истекло время ожидания соединения

При использовании 172.19.160.1 (WSL2 IP) в Capybara также тайм-аут

Что может помешать подключению через порт 9515?

ОБНОВЛЕНИЕ Из этого сообщения При запуске WebDriver с браузером Chrome появляется сообщение «Только локально» подключения разрешены ", хотя браузер запускается правильно

Я нашел обходной путь. Если я запускаю Chromedriver таким образом, я могу запустить тесты: chromedriver.exe --whitelisted-ips="" Не идеально; все еще ищу способ определить, какой адрес и порты используются. Может быть на самом деле IPV6 не IPV4?

...