在Docker容器中执行Firefox浏览器进行Seleniumtesting

我有一个Java应用程序,它通过Selenium WebDriver Libraray控制FF浏览器中的自动GUItesting。 Java应用程序从数据库读取testing用例,并根据代码逻辑执行testing用例。

例如,如果应用程序读入一个字段,它将使用Selenium框架中的“findElement”方法进行search。 我不使用任何testing脚本Selenium。

目前这发生在员工的本地工作站上。

现在我想将整个环境转移到Docker容器中。

甚至有可能在容器中实例化Firefox浏览器? 顺便说一句:我不需要看到我的浏览器的实际GUI。

其次:

dockerhub上有几个容器可以使用selenium,但这些不适合我的环境,我是对的吗? 据我所知SeleniumGrid期待testscripts,不能通过运行时执行。

我用Vagrant打开了一个Linux VM(Debian:Jessie发行版),然后运行Docker。

我还是Docker的初学者。 我在这里找不到任何有关我的目的的问题。 提前致谢!

甚至有可能在容器中实例化Firefox浏览器?

是。 最简单的方法是使用Docker Hub上的selenium图像 。

dockerhub上有几个容器可以使用selenium,但这些不适合我的环境,我是对的吗?

如果您认为Selenium图像不适合您,因为它们都基于Selenium Grid,则可以使用StandaloneFirefox和StandaloneChrome图像。 这些是个别实例,它们不使用Selenium Grid。

顺便说一句,非debuggingselenium图像没有一个GUI。 你提到你不需要看浏览器运行,所以这些应该没问题。 如果您确实需要查看浏览器,则debugging映像会安装VNC服务器,以便您可以运行映像,连接VNC客户端,并观察浏览器运行testing。