Ruby -селен для подключения к удаленному веб-драйверу - PullRequest
0 голосов
/ 02 марта 2020

Я использую Ruby на GUI -свободном сервере Ubuntu. Чтобы запустить тесты внешнего интерфейса с хромдрайвером (в режиме без головы), наш системный администратор установил chrome на docker платформе.

docker run -p 3000:3000 -e "MAX_CONCURRENT_SESSIONS=10" -e "WORKSPACE_DELETE_EXPIRED=true" -e "WORKSPACE_EXPIRE_DAYS=7" --restart unless-stopped -d --name browserless browserless/chrome:latest

У меня есть пример того, как подключиться к Chrome с Node.js, но я не смог найти такой подход / гем для Ruby. Кто-нибудь знает, как заставить chromedriver использовать docker chrome вместо локально установленного?

** EDIT **

Вот что Я попытался:

caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"args" => [ "--headless", "--no-sandbox" ]})
driver = Selenium::WebDriver.for :remote, :url => "http://localhost:3000/webdriver", :desired_capabilities => caps

, и я получаю следующую ошибку:

Selenium :: WebDriver :: Error :: UnknownError: неизвестная ошибка: Chrome не удалось запустить: выход завершен ненормально. (неизвестная ошибка: файл DevToolsActivePort не существует) (Процесс, запущенный из chrome location / usr / bin / google-chrome, больше не выполняется, поэтому ChromeDriver предполагает, что Chrome произошел сбой.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...