Selenium WebDriverManager语言 - 在Linux服务器上运行时异常



我是新的硒和有一些问题。

我正在使用与Selenium连接的WebDriverManager。这是我的代码:

WebDriverManager.chromedriver().setup();

当我在本地系统(Windows 10操作系统)上运行代码时,一切都运行得很好。当我在Linux服务器(Ubuntu 18.04, Tomcat 9)上运行我的代码作为web应用程序时,我得到以下异常:

io.github.bonigarcia.wdm.config.WebDriverManagerException: Exception reading resolution cache as a properties file
at io.github.bonigarcia.wdm.cache.ResolutionCache.<init>(ResolutionCache.java:86)
at io.github.bonigarcia.wdm.WebDriverManager.getResolutionCache(WebDriverManager.java:1490)
at io.github.bonigarcia.wdm.WebDriverManager.clearResolutionCache(WebDriverManager.java:780)
at io.github.bonigarcia.wdm.WebDriverManager.handleException(WebDriverManager.java:1263)
at io.github.bonigarcia.wdm.WebDriverManager.manage(WebDriverManager.java:1060)
at io.github.bonigarcia.wdm.WebDriverManager.setup(WebDriverManager.java:393)
....
Caused by: java.io.IOException: No such file or directory
at java.base/java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.base/java.io.File.createNewFile(File.java:1035)
at io.github.bonigarcia.wdm.cache.ResolutionCache.<init>(ResolutionCache.java:75)

我使用Selenium 4.2.1和Webdriver 5.1.0。在我们的Linux服务器上,我已经安装了Google Chrome浏览器,如下所述。当运行

google-chrome --version
-> Google Chrome 102.0.5005.115

我得到了显示的结果,所以我认为Chrome应该正确安装。有人知道吗?

似乎无法创建分辨率缓存,这是默认情况下在以下路径中创建的属性文件:~/.cache/selenium。你可以尝试手动创建该路径(尽管WebDriverManager应该能够在它不存在时创建)。

在任何情况下,要正确调试它,您需要检查WebDriverManager跟踪。为此,您需要在您的项目类路径中包含Logback配置文件(例如,像这样)。该文件的名称应该是src/test/resources/logback-test.xml(如果您只想要测试日志)或src/test/resources/logback.xml(如果您想要测试和应用程序代码的日志)。然后,您可以使用以下行将级别设置为TRACE:

<logger name="io.github.bonigarcia" level="TRACE" />

关于使用SLF4J和Logback进行日志记录的更多信息,您可以查看以下教程。

最新更新