Selenium 4 环境下关闭webdriver输出的冗余浏览器日志问题咨询
问题根因
你看到的十六进制网络转储类TRACE日志来自Selenium 4内置依赖的Netty网络通讯组件,不属于org.openqa.selenium包的日志输出,因此你之前针对Selenium官方包的屏蔽配置不生效。
解决步骤
1. 调整日志框架配置
在你的logback-test.xml中新增如下配置,将Netty及异步HTTP客户端的日志级别调整为WARN即可,不需要修改全局root日志级别:
<!-- 屏蔽Netty网络通讯TRACE日志 --> <logger name="io.netty" level="WARN" additivity="false"> <appender-ref ref="stdout" /> </logger> <!-- 屏蔽Selenium4依赖的异步HTTP客户端TRACE日志 --> <logger name="org.asynchttpclient" level="WARN" additivity="false"> <appender-ref ref="stdout" /> </logger> <!-- 保留你原有Selenium相关的屏蔽配置 --> <logger name="org.openqa.selenium" level="WARN" /> <logger name="org.seleniumhq.selenium" level="WARN" />
该配置不会影响项目自定义的TRACE日志输出。
2. 可选:补充浏览器驱动静默配置
如果仍有少量驱动层面的日志输出,可以在驱动初始化代码中补充如下配置:
// 全局设置驱动静默输出 System.setProperty("webdriver.chrome.silentOutput", "true"); System.setProperty("webdriver.edge.silentOutput", "true"); System.setProperty("webdriver.gecko.silentOutput", "true"); // 驱动启动参数增加静默、日志级别限制 options.addArguments("--log-level=3"); // 仅输出错误级日志 options.addArguments("--silent"); options.addArguments("--disable-logging");
验证
配置完成后重启测试即可看到网络转储类日志完全消失,项目自定义的TRACE日志可以正常输出。
内容的提问来源于stack exchange,提问作者Dave H
相关产品推荐
相关产品推荐

