我想在我的 Java 网络应用程序上使用 Selenium 进行一些集成测试。我已将 Jenkins 设置为当前使用 Ant 脚本构建。
据我了解,Web 应用程序必须先构建、打包并部署到正在运行的服务器,然后才能使用 Selenium webdriver(在本地主机上)进行测试。当我在本地执行此操作时,效果很好。但是在我的 Jenkins 机器上,我需要启动另一台服务器,而不是运行 Jenkins 的服务器,以便在那里部署 war 文件,然后运行测试,对吗?问题是部署是构建后的操作,之后我无法运行任何测试,我可以吗?
最佳答案
为什么不使用 Docker提供构建、部署和测试环境?
它将提供您在 Jenkins 服务器内构建和测试网络应用所需的隔离。
您可以使用 Dockerfile 和构建您自己的容器镜像来定义不同的环境以匹配项目的依赖项。将容器视为非常轻量级的虚拟机。在您的情况下,为了构建和测试您的网络应用程序,我想您至少需要一台安装了 JDK 和 Selenium Webdriver 的机器。
在官方 Docker 容器注册表中有大量图像可用,Dockerhub您可以使用它而不是自己构建。
有关开始使用与 Docker 和 Jenkins 的持续集成的漂亮白皮书,请转到 here
关于java - Jenkins 中的集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38012628/