我想使用Selenium WebDriver和Docker而不是虚拟机在同一台机器上运行多个Internet Explorer版本。据我所知,Docker完全在Linux上运行,这将使得Docker中的IE无法实现。我只是在问,因为我看到Docker正在使用Microsoft Azure。
答案 0 :(得分:8)
Docker目前不支持基于Windows的应用程序。 Azure上的Docker是在Azure上的Linux VM上运行的Docker。随着Docker for Windows的出现,你会认为它是可能的,但IE / Edge不支持无头模式。微软已宣布Edge正在转向使用有希望最终将无头模式带入IE / Edge的Chrome。 Docker永远不会支持GUI环境,它违背了他们的使命。
答案 1 :(得分:2)
您可以安装wine,以及IE6或IE7。我想你更喜欢IE 10或IE11。
在
上查看示例https://hub.docker.com/r/tianon/wine/
或
https://hub.docker.com/r/jess/wine/,
并且根据winehq.org,如果您修改以前的Dockerfiles,则可以使用过时的浏览器,例如IE7。
不要忘记,葡萄酒不会提供所有DLL。
答案 2 :(得分:1)
仍然没有官方方法可以在docker内部运行IE / EDGE “ No Windows docker images have GUI, so we cannot test IE11, EDGE.”
但是,我们可以安装virtual-box并实现这一目标。
这种方法在docker的顶部添加了额外的虚拟化层[虚拟化嵌套],以使IE / Edge执行得以实现,我认为在不久的将来,这可能会导致严重测试的性能问题
。如果您正在寻找Selenium测试并且没有很重的负载,则可以尝试一下链接中提到的方法。
答案 3 :(得分:1)
Microsoft作为Windows 10 1903的一部分发布了一个称为Windows Sandbox的新功能。我相信它旨在填补这一特定空白,并且确实允许在启动Sandbox之前进行一些设置。我目前正在研究是否可以在自己的Selenium测试中使用这种方法,但我鼓励其他人也进行检查。
答案 4 :(得分:0)
带有硒服务器的IE 6/7/8可以在docker上使用以下图像:https://github.com/sormy/docker-oldie