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

标签 selenium firefox docker automation webdriver

我有一个 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/

相关文章:

javascript - 将插入符号值设置到某个位置后无法获取插入符号位置值

mysql - 如何在Docker启动时自动选择MySQL数据库?

javascript - 我们如何确定何时在 selenium c# 中使用 JavaScriptExecutor?

selenium - 使用页面对象模型的appium框架的最佳实践是什么

java - 启动Firefox并等待其关闭

CSS Hack 以 Firefox 3.5+ 为目标?

java-selenium xpath 查找前一个节点

c# - Telerik 免费测试框架与 Selenium

java - Spring-Cloud-Stream Kafka Azure - 获取数据时出现意外错误代码 13

ubuntu - ubuntu 12.04 上的 Docker 守护进程启动错误