我有一个小的 webdriver.io 项目,只是为了第一次试验它。我现在想添加魅力报告,但是当我尝试运行 allure open
我得到以下异常,我不知道我必须在哪里解决这个问题:
Starting web server...
2021-05-04 22:06:43.669:INFO::main: Logging initialized @349ms to org.eclipse.jetty.util.log.StdErrLog
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /usr/lib/jvm/java-11-openjdk-amd64/lib/libawt_xawt.so
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2630)
at java.base/java.lang.Runtime.load0(Runtime.java:768)
at java.base/java.lang.System.load(System.java:1837)
at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442)
at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498)
at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2648)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
at java.base/java.lang.System.loadLibrary(System.java:1873)
at java.desktop/java.awt.Toolkit$3.run(Toolkit.java:1399)
at java.desktop/java.awt.Toolkit$3.run(Toolkit.java:1397)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/java.awt.Toolkit.loadLibraries(Toolkit.java:1396)
at java.desktop/java.awt.Toolkit.<clinit>(Toolkit.java:1429)
at java.desktop/java.awt.Desktop.isDesktopSupported(Desktop.java:328)
at io.qameta.allure.Commands.openBrowser(Commands.java:220)
at io.qameta.allure.Commands.open(Commands.java:152)
at io.qameta.allure.CommandLine.run(CommandLine.java:165)
at java.base/java.util.Optional.orElseGet(Optional.java:369)
at io.qameta.allure.CommandLine.main(CommandLine.java:88)
报告生成得很好。只有当我尝试打开它们时,我才会收到此错误。
我通过 npm 安装了 allure-reporter 和 allure-commandline。我将我的项目放在 Debian WSL 中,并使用 VcXsrv X Server 运行 chromedriver,以防万一。
有没有人知道如何解决此错误或提示要查找的内容?我希望我给了你足够的信息。如果没有,就说你需要什么。在此先感谢您的帮助!
原文由 Thorondor 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Ubuntu 20.04 上:
正如 Joakim 在此处评论中 所建议的那样,安装了无头版本。我在 ldd 上遇到了同样的错误,库丢失了。
一般来说改变你的问题不是一个好主意,最好先搜索并在需要时提出一个新的问题,并提供所有细节。
这可能有助于您了解第二个问题的可能原因:
当前平台不支持桌面 API
如果您想使用 Linux,我强烈建议您使用普通的 Ubuntu Linux 安装,WSL 不一样,并且有您在 Linux 中不会遇到的特定问题。如果专用安装不是一个选项,请尝试查找一般问题。预计 shell、docker 和图形相关事物的行为会有所不同,因为这些事物是专门为 WSL 以某些方式实现的。