首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么ChromeDriver一直登录到控制台?

为什么ChromeDriver一直登录到控制台?
EN

Stack Overflow用户
提问于 2018-04-19 22:43:45
回答 1查看 417关注 0票数 2

我有一个使用selenium和ChromeDriver在我的网站上自动测试的Java项目。我为我的日志文件配置了log4j2和slf4j。但是,驱动程序拒绝登录我的文件,而是使用控制台:

代码语言:javascript
复制
Starting ChromeDriver 2.30.477700 (0057494ad8732195794a7b32078424f92a5fce41) on port 41019
Only local connections are allowed.
log4j:WARN No appenders could be found for logger (org.apache.http.client.protocol.RequestAddCookies).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Apr 20, 2018 12:31:42 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS

,我在日志记录设置中需要调整什么,这样web驱动程序就可以登录到我的日志文件中而不是控制台?,我对日志记录的了解是有限的,对不起。如果能解释我做错了什么,我将不胜感激。

我在log4j2.xml中尝试了以下附加程序:

代码语言:javascript
复制
<logger name="org.openqa.selenium" level="all">
    <AppenderRef ref="selenium"/>
</logger>
<logger name="webdriver.chrome" level="all">
    <AppenderRef ref="webdriverChrome"/>
</logger>
<logger name="org.apache.http.client.protocol.RequestAddCookies" level="all">
    <AppenderRef ref="webdriverChrome"/>
</logger>
<logger name="org.seleniumhq.selenium.selenium-chrome-driver" level="all">
    <AppenderRef ref="webdriverChrome"/>
</logger>

我的pom.xml:

代码语言:javascript
复制
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.22</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.22</version>
</dependency>
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-firefox-driver</artifactId>
    <version>3.4.0</version>
</dependency>
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>htmlunit-driver</artifactId>
    <version>2.24</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-chrome-driver -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-chrome-driver</artifactId>
    <version>3.4.0</version>
</dependency>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-30 13:31:17

我找到了这个半烤的溶液。初始化web/chrome驱动程序时使用此代码:

代码语言:javascript
复制
  Properties log4jProp = new Properties();
  log4jProp.setProperty("log4j.rootLogger", "WARN");
  PropertyConfigurator.configure(log4jProp);

  System.setProperty("webdriver.chrome.logFile", ".//log//webdriverChrome_1.log");
  System.setProperty("webdriver.chrome.driver", ".\\path\\to\\chromedriver.exe");
  driver = new ChromeDriver();
  driver.manage().timeouts().implicitlyWait(waitInMilliseconds, TimeUnit.MILLISECONDS);

它只删除日志框架的警告。我在一定程度上感到满意。如果有人知道将控制台消息的其余部分放入记录器的答案,我们将不胜感激。

到目前为止的结果:

代码语言:javascript
复制
Starting ChromeDriver 2.30.477700 (0057494ad8732195794a7b32078424f92a5fce41) on port 41019
Only local connections are allowed.
Apr 20, 2018 12:31:42 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49931294

复制
相关文章

相似问题

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