docker - 我可以使用一个 Selenium 驱动程序运行两个独立的 Google Chrome 窗口吗?
问题描述
我想测试一个网站上两个登录用户之间的交互,该网站只允许一个用户登录给定的浏览器会话。我想避免创建第二个驱动程序的原因是因为我更喜欢使用 Selenium 提供的 Docker 容器来运行我的测试(https://github.com/SeleniumHQ/docker-selenium),这似乎在“一个端口-一个驱动程序”的基础上,只有一个暴露的端口。由于这些测试将在其中运行的管道环境,Selenium Grid 不是一个选项。
这两个窗口不需要能够同时运行操作,但是由于我的测试用例是两个登录的用户相互交互,所以当另一个用户正在执行操作时,任何一个用户都不能注销。
在我自己的 Docker 容器中使用两个驱动程序是我最后的手段,因为我发现它不如 Selenium 自己的容器快速和可靠,但如果我没有其他选择,我会走这条路。
解决方案
解决方案是我试图做的事情是不可能的。但是,对于我的用例,我能够启动一个额外的 Selenium 提供的 Docker 映像,该映像将在不同的端口上侦听,从而允许我设置两个驱动程序。
推荐阅读
- python - 如何使用数据框信息来分隔不同列表中不同类型的列?
- mysql - 使用 Docker-Compose 连接到 MariaDB 时出错,“连接丢失:服务器关闭了连接”
- c# - c#:如何创建解决方案范围的 ODBC 连接?
- css - Bootstrap 显示列并排
- web3 - javascript web3.js 库错误
- artifactory - jfrog artifactory 6.0.3 - 缺少管理模块 - 高级功能(检查系统信息等)
- html - 如何将两个元素并排放置
- python - 从 MultiIndex Dataffame 中删除单行
- apache-camel - Camel JdbcMessageIdRepository 键在从路由而不是 onCompletion 之后插入
- python - .sort (reverse=True) 将 10 移到底部