c# - 从 Selenium docker 容器访问 IIS 本地主机
问题描述
我在本地主机上的 Windows 机器上运行了一个 .net 应用程序。我还使用以下命令设置了一个 selenium docker 容器:
docker run -d -p 4444:4444 -v /dev/shm:/dev/shm selenium/standalone-chrome
我可以通过将远程 webdriver 指向 localhost:4444 来访问容器
但是,当我运行测试并告诉 webdriver 导航到“ http://docker.for.win.localhost:51749 ”时,屏幕截图中出现连接被拒绝错误。
我看过类似的问题,但他们使用了不同的技术,这些解决方案对我不起作用,所以我认为我的问题可能略有不同,因为我的网站在 Visual Studio 的 IIS express 中运行。
我尝试通过 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.
这个问题的原因可能是什么?
我正在使用带有引擎 18.09.2 的 Docker Desktop,它在 Windows 上运行(尽管我相信容器的内部是 linux)
更新
我刚试过:
curl -i -X GET -H "Host: localhost:51749" docker.for.win.localhost:51749
这最终会返回网站的 HTML。所以看起来容器实际上可以看到它......只是硒不能。
解决方案
推荐阅读
- c++ - UWP C++/CX:当前系统时间和秒表
- java - 无法将 super 关键字作为参数传递给 java 中的方法
- css - 如何自定义 Wordpress 登录页面的背景?
- jquery - 如何使用 datepicker 在 Angular 5 应用程序中验证日期?
- php - 如何通过连接表检索组中的记录取决于MAX?
- c# - Android Xamarin - 检索存储在 imageview 中的图像
- c - C Web 服务器分段故障
- reactjs - 反应中状态为空时如何禁用按钮
- regex - 正则表达式:过滤掉带有空格的短语
- git - git-lfs env Endpoint 和 LfsStorageDir 之间的区别?