【问题标题】:Execute a Firefox Browser in a Docker Container for Selenium testing在 Docker 容器中执行 Firefox 浏览器以进行 Selenium 测试
【发布时间】:2017-11-12 12:37:39
【问题描述】:

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

例如,如果应用读取一个字段,它将使用 Selenium 框架中的“findElement”方法来搜索它。我不使用任何 Selenium 测试脚本。

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

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

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

其次:

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

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

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

【问题讨论】:

    标签: selenium firefox docker automation webdriver


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 如果容器主要运行我的 java 应用程序,那么是否可以在同一个 docker 容器中启动“非硒”Firefox 浏览器?
    • @TimoPa 我不明白为什么不这样做。我自己还没有这样做,但是您应该能够深入了解前面提到的 Selenium Dockerfile 并了解它们是如何做到的。您可以install Firefox from the command line 进行许多发行版。
    猜你喜欢
    • 1970-01-01
    • 2012-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 2015-02-20
    相关资源
    最近更新 更多