Java 是否要从日志中抑制EdgeDriver消息?

Java 是否要从日志中抑制EdgeDriver消息?,java,selenium-webdriver,microsoft-edge,Java,Selenium Webdriver,Microsoft Edge,是否可以抑制从selenium边缘驱动程序创建的日志?具体而言,这些类型的日志条目: [17:00:32.066]-收听 我尝试过与Chrome、Firefox和IE驱动程序类似的方法,但都没有达到预期的效果 例如 铬 System.setProperty("webdriver.chrome.args", "--disable-logging"); System.setProperty("webdriver.chrome.silentOutput", "true"); System.setPro

是否可以抑制从selenium边缘驱动程序创建的日志?具体而言,这些类型的日志条目:

[17:00:32.066]-收听

我尝试过与Chrome、Firefox和IE驱动程序类似的方法,但都没有达到预期的效果

例如

System.setProperty("webdriver.chrome.args", "--disable-logging");
System.setProperty("webdriver.chrome.silentOutput", "true");
System.setProperty("webdriver.chrome.driver", "src\\drivers\\chromedriver.exe");
driver = new ChromeDriver();
火狐

System.setProperty(FirefoxDriver.SystemProperty.BROWSER_LOGFILE, "/dev/null");
System.setProperty("webdriver.gecko.driver", "src\\drivers\\geckodriver.exe");
driver = new FirefoxDriver();


在测试执行期间,要查看较少的日志,您只需将--silent参数传递给chromedriver服务器,如下所示
System.setProperty(“webdriver.chrome.silentLogging”,“true”)

在edgedriver中,您可以在中尝试答案。它在“设置”时间内完全禁用日志

对于我来说,我使用
EdgeDriverService
类下的
SuppressInitialDiagnosticInformation
属性。该属性默认为false。通过将其设置为true,可以抑制诊断输出。我在C#中使用它,如下所示:

EdgeDriverService service = EdgeDriverService.CreateDefaultService();
service.SuppressInitialDiagnosticInformation = true;
service.HideCommandPromptWindow = true;
var driver = new EdgeDriver(service);

在chromedriver中的用法是相同的。有关更多信息,请参阅和。

不幸的是,Java中的服务类似乎不存在这些属性。我的答案中的第一个和第二个方法在Java中有效吗?此外,你可以参考。它指出,我们需要从根本上弄清楚如何从Java绑定中禁用信息级日志,并将其切换为仅显示警告。它说这是可行的:
java.util.logging.Logger.getLogger(“org.openqa.selenium”).setLevel(Level.OFF)。我没有尝试您响应中的第二种方法。在我看来,它不是很干净,因为它应该是相当简单的。我已经有Chrome、IE和Firefox没有显示日志,我也已经有
java.util.logging.Logger.getLogger(“org.openqa.selenium”).setLevel(Level.OFF)在我的代码中。纯粹是边缘给我带来了麻烦。
EdgeDriverService service = EdgeDriverService.CreateDefaultService();
service.SuppressInitialDiagnosticInformation = true;
service.HideCommandPromptWindow = true;
var driver = new EdgeDriver(service);