在Docker容器中执行Firefox浏览器以进行Selenium测试

时间:2017-06-10 16:37:18

标签: selenium firefox docker automation webdriver

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

例如,如果应用程序读入字段,它将使用Selenium框架中的" findElement" -method进行搜索。我没有为Selenium使用任何测试脚本。

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

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

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

其次:

有几个容器在dockerhub上准备好使用selenium,但这些不适合我的环境吗?对不起? 据我所知,SeleniumGrid需要测试脚本,不能通过运行时执行。

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

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

1 个答案:

答案 0 :(得分:2)

  

甚至可以在Container中实例化Firefox浏览器吗?

是。最简单的方法是使用selenium images on Docker Hub

  

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

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

BTW,非Debug Selenium图像没有GUI。你提到你不需要看到浏览器运行所以这些应该没问题。如果确实需要查看浏览器,则调试映像会安装VNC服务器,以便您可以运行映像,与VNC客户端连接,并观察浏览器运行测试。