selenium - Jenkins selenium docker 和应用程序文件
问题描述
我有一个 docker hub 和一个 docker 节点启动并运行。我还有一个 docker 容器,其中包括我的应用程序启动和运行,其设置与我的 pc 相同。我收到以下错误。[ConnectionException] 无法在http://ip:4444/wd/hub连接到 Webdriver 。请确保 Selenium Server 或 PhantomJS 正在运行。IP 是正确的,因为我在那里看到了应有的硒网格。这可能是问题所在。当我进入 jenkins 中的容器时,它也会运行我的测试。
解决方案
您是否明确指示 Hub Docker 容器将其内部端口 4444 对外公开为 4444?
指示容器公开端口不会强制使用相同的端口号。因此,在您的情况下,虽然它在内部运行在 4444 上,但在外部它可能是 Docker 在启动时认为是最佳选择的任何端口。
你是如何启动你的容器的?如果通过 docker cmd 行,那么您使用的是-P
or-p 4444:4444
吗?(注意大小写的区别)。 -P
只是公开端口但不保证数量,其中 as-p
允许您根据需要进行映射。
有很多方法可以编排 Docker,这可能允许您以不同的方式控制它。
例如,如果您使用 Docker Compose,它有可能允许您的容器通过 4444 进行通信,即使这些不是实际暴露的端口。它通过一些巧妙的网络实现了这一点,但设置和使用非常简单。
推荐阅读
- mpremotecommandcenter - 锁定屏幕后 MPNowPlayingInfoCenter 丢失设置
- reactjs - 问题 REACT img 在 json 文件夹中不起作用
- javascript - 为什么在导入时找不到具有“.js”文件扩展名的 Javascript 模块,除非文件扩展名是 .mjs,尽管包“类型”是“模块”?
- python - 如何使用 BeautifulSoup 抓取下一页?
- r - 调整堆叠条形图的 geom_text 标签位置
- python - 使用 PD df 进行 TextBlob 翻译的问题
- python - 如果集合之间有任何交集,则在集合列表中加入俱乐部集合
- security - 后端服务器和 OAuth 2.0 保护应用程序有什么区别?
- firebase - 这个(简单的)firebase v2 安全规则有什么问题?
- django - 如何自定义 django-allauth 登录/注册表单的验证规则?