我有一个 Java 应用程序,它通过 Selenium WebDriver 库控制 FF 浏览器中的自动化 GUI 测试。 Java App 从数据库中读取测试用例并根据代码逻辑执行它们。
例如,如果应用程序读入一个字段,它将使用来自 Selenium 框架的“findElement”方法来搜索它。我不为 Selenium 使用任何测试脚本。
目前,这是在员工的本地工作站上发生的。
现在我想将整个环境移动到 Docker 容器中。
甚至可以在容器中实例化 Firefox 浏览器吗?
顺便说一句:我不需要查看浏览器的实际 GUI。
其次:
dockerhub 上有几个装有 Selenium 的容器可供使用,但这些容器不适合我的环境,对吗?
据我所知,SeleniumGrid 需要测试脚本并且不能通过运行时执行。
我用 Vagrant 打开了一个 Linux VM(Debian:Jessie 发行版),然后在其中运行 Docker。
我仍然是 Docker 的初学者。
我在这里找不到任何关于我的目的的问题。
提前致谢!
最佳答案
Is it even possible to instantiate a Firefox Browser in a Container?
是的。最简单的方法是使用 selenium images on Docker Hub .
There are several containers with selenium on dockerhub ready to use, but these do not fit my surroundings am I right?
如果您认为 Selenium 图像不适合您,因为它们都基于 Selenium Grid,您可以改用 StandaloneFirefox 和 StandaloneChrome 图像。这些是单独的实例,它们不使用 Selenium Grid。
顺便说一句,非调试 Selenium 图像没有 GUI。你提到你不需要看到浏览器正在运行,所以这些应该没问题。如果您确实需要查看浏览器,调试镜像安装了 VNC 服务器,因此您可以运行镜像、连接 VNC 客户端并观察浏览器运行测试。
关于selenium - 在 Docker 容器中执行 Firefox 浏览器进行 Selenium 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44475657/