我尝试在 Jenkins 作业中执行 jar Web 应用程序并启动 Selenoid 测试 如果我在管道 Jenkins 中执行命令“java -jar app.jar” - 我会得到异常
2024-11-18 13:54:16,203 [main] [INFO] () [r.s.c.w.a.RemoteApplication]:在 4.282 秒内启动 RemoteApplication(JVM 运行了 4.498) 2024-11-18 13:54:16,248 [main] [WARN] () [r.s.c.w.r.SimpleUrlBrowser]:请在浏览器中打开以下地址: 2024-11-18 13:54:16,249 [主要] [警告] () [r.s.c.w.r.SimpleUrlBrowser]: http://localhost:20080 java.lang.Exception:找不到网络浏览器
并且 Jenkins 工作无限冻结,直到我手动中止构建。
这就是我看到的解决方案:
有什么方法可以绕过这个异常运行jar吗?
运行作业的 Jenkins 节点没有安装浏览器,或者如果安装了,Selenoid 找不到任何浏览器。
这是我们在 Jenkins 上运行 Selenide 测试所做的事情:
docker.image('selenium/standalone-chrome').withRun('-v /dev/shm:/dev/shm -p 4444:4444') { c ->
def selenideRemote = "http://0.0.0.0:4444/wd/hub"
sh "mvn test -Dselenide.headless=true -Dselenide.remote=${selenideRemote} -DscreenshotsEnabled=true"
}
安装了适当的浏览器等的 Docker 映像与无头选项的组合应该可以使其工作。