在Docker容器中使用Selenium,我们可以截屏吗?

3

我正在尝试在Docker容器(Linux Centos操作系统)中执行Selenium测试。 我创建了三个Docker容器,一个作为hub,其他两个作为node。 我尝试在一个步骤中捕获屏幕截图。没有出现任何异常。 但是我无法在容器中找到屏幕截图(jpg文件)。 我想知道是否可以在Docker容器中运行测试时进行屏幕截图,因为测试是在无头模式下运行的。


你使用的是哪个镜像?https://github.com/SeleniumHQ/docker-selenium?请参考http://www.conductor.com/nightlight/running-selenium-grid-using-docker-compose/进行双重检查。 - VonC
你在哪里运行测试?听起来像是在docker主机上运行测试,所以图像可能会最终保存在那里而不是任何容器中。你能发一下获取截图的代码吗? - joelnb
1个回答

0
一般来说是可能的,但需要驱动程序支持在故障情况下拍照。其中一种可能性是使用


DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("takesScreenshot", true)

但是这需要得到驱动程序的支持(幽灵驱动程序支持此功能)。


除了HtmlUnitDriver(单独?)之外,每个实现都支持不同级别的截图,因此很难相信OP选择了不支持截图的那个。此外,他说他没有收到任何异常。 - Andrew Regan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接