如何在具有可见浏览器的docker容器中运行Selenium测试?
如果我想在带有可见(而非无头)浏览器的Docker容器中运行Selenium测试,我的选项是什么如何在具有可见浏览器的docker容器中运行Selenium测试?,docker,selenium,selenium-webdriver,docker-compose,dockerfile,os,Docker,Selenium,Selenium Webdriver,Docker Compose,Dockerfile,Os,如果我想在带有可见(而非无头)浏览器的Docker容器中运行Selenium测试,我的选项是什么 我是否需要使用远程显示查看器(如VNC) 是否可以在主机上使用浏览器?(即不在Docker容器中的浏览器)。这是怎么回事 还有其他选择吗 请考虑使用 ZaleNe()。Zalenium的标题是-一个灵活且可扩展的基于容器的Selenium网格,具有视频录制、实时预览、基本身份验证和仪表板 如上所述,您可以检查浏览器上运行的测试用例的实时预览 附言:-Zalenium是一种构建在硒网格顶部的包装材
- 我是否需要使用远程显示查看器(如VNC)
- 是否可以在主机上使用浏览器?(即不在Docker容器中的浏览器)。这是怎么回事
- 还有其他选择吗
请考虑使用<强> ZaleNe<:强>()。Zalenium的标题是-一个灵活且可扩展的基于容器的Selenium网格,具有视频录制、实时预览、基本身份验证和仪表板
如上所述,您可以检查浏览器上运行的测试用例的实时预览 附言:-Zalenium是一种构建在硒网格顶部的包装材料Docker 是一个软件集装箱船平台,可从提供虚拟化。在Docker中,所有软件部件都组织为容器,其中包括操作系统、软件、依赖项、环境变量等。容器可在不同用户之间共享,从而实现软件和服务的快速安装和运行,从而使Docker对自动化测试更为友好,因为相关容器可以作为自动化测试的一部分下载和运行。Docker也是安全的,因为它在主机上作为一个独立进程运行 需要注意的是,Docker是隔离的、安全的和便携的。但是,没有GUI,也不能以裸机速度运行先决条件
- Python,与Selenium WebDriver绑定
- 测试框架,例如PyTest、Nose或JUnit
- 变色河、壁虎河
- 码头工人(从现场)
- CI工具,例如,或
- 可选插件,例如用于存储库连接的GitHub、用于报告或性能测试的诱惑等
回答您的问题:
- 我是否需要使用远程显示查看器,如VNC?:根据文章Docker可以在Linux主机上本机运行,而在Mac OS和Windows系统上提供虚拟化服务需要一个小型Linux VM。在非Linux系统上,单个Docker容器由迷你VM、Docker软件层和软件容器组成。但最近,Windows和Mac操作系统增加了对操作系统级虚拟化的支持。适用于Windows和Mac操作系统的Docker测试版现已推出,允许Docker以本机方式运行
- 可以在主机上使用浏览器吗?:不可以,因为没有UI。但是,为了直观地查看测试执行情况,您可以安装
这样,您可以看到结果:X服务器显示器
- 还有其他选择吗?:还有几个其他的选择。
- 您可以使用Docker Compose设置一个。广泛应用于该领域,因为它提供了一个灵活且可扩展的基于容器的Selenium网格,具有视频录制、实时预览、基本身份验证和仪表板
- 您也可以在Kubernetes设置。您可以在中找到详细的文档
奥特罗
我的结论是,实现这一点的标准方法是在Docker容器上使用轻量级桌面环境(如LXDE)运行X。然后,您可以使用VNC客户端连接到它。无法在主机上使用浏览器 有关其他选项,请参见其他答案