首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Jenkins上运行TestFX时如何避免HeadlessException?

问在Jenkins上运行TestFX时如何避免HeadlessException?
EN

Stack Overflow用户
提问于 2021-06-16 05:10:13
回答 1查看 90关注 0票数 3

我正在编写一个TestFX测试用例,以涵盖一个Java桌面应用程序。其中一个交互调用showDocument()以使用浏览器显示html文档。当使用Gradle在本地运行测试时,我的测试工作正常。但是,当我在Jenkins上运行它(使用MacOS代理)时,测试失败。

代码语言:javascript
复制
14:55:10     java.awt.HeadlessException
14:55:10        at java.desktop/java.awt.Desktop.getDesktop(Desktop.java:301)
14:55:10        at javafx.graphics/com.sun.javafx.application.HostServicesDelegate$StandaloneHostService.showDocument(HostServicesDelegate.java:133)
14:55:10        at javafx.graphics/javafx.application.HostServices.showDocument(HostServices.java:115)

该问题是在桌面检查GraphicsEnvironment.isHeadless()时引起的

为什么会发生这个错误?我读到当没有图形用户界面可用(显示器、键盘、鼠标),但我的代理确实有图形用户界面时,就会发生HeadlessException。此测试在Windows代理上工作正常,但在MacOS上无法正常工作。如何避免此错误并在Jenkins上执行自动化测试?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-23 03:05:39

解决方案是更改Jenkins上的节点启动方法。它们是使用SSH连接的,并将其更改为连接到主服务器解决了这个问题(ssh不传递GUI并将其直接连接到主服务器)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67993552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档