Доступ к IIS Localhost из док-контейнера Selenium - PullRequest
1 голос
/ 24 мая 2019

У меня на локальном хосте запущено приложение .net, работающее на моей машине с Windows. Я также настроил контейнер докера селена с помощью этой команды:

docker run -d -p 4444:4444 -v /dev/shm:/dev/shm selenium/standalone-chrome

Я могу получить доступ к контейнеру, указав удаленному веб-драйверу на localhost: 4444

Однако, когда я запускаю тест и говорю веб-драйверу перейти к «http://docker.for.win.localhost:51749", я получаю ошибку об отказе в соединении на скриншоте.

Я смотрел на похожие вопросы, но они использовали разные технологии, и эти решения не работали для меня, поэтому я подумал, что моя проблема может немного отличаться, так как мой сайт работает в IIS express в visual studio.

Я попытался выполнить SSH к контейнеру и выполнить WGET по тому же адресу, и это привело к ошибке 400, как показано ниже.

seluser@832dfa5515d6:/$ wget docker.for.win.localhost:51749
--2019-05-24 12:45:45--  http://docker.for.win.localhost:51749/
Resolving docker.for.win.localhost (docker.for.win.localhost)... 192.168.65.2
Connecting to docker.for.win.localhost (docker.for.win.localhost)|192.168.65.2|:51749... connected.
HTTP request sent, awaiting response... 400 Bad Request
2019-05-24 12:45:45 ERROR 400: Bad Request.

В чем может быть причина этой проблемы?

Я использую Docker Desktop с движком 18.09.2, работающим на Windows (хотя я считаю, что внутри контейнера находится linux)

UPDATE

Я только что попробовал:

 curl -i -X GET -H "Host: localhost:51749" docker.for.win.localhost:51749

В итоге возвращается HTML-код сайта. Так что, похоже, контейнер действительно может это увидеть ... просто селен не может.

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