2010-08-17 59 views
5

运行示例源在webdriver API:如何禁用详细的错误消息?

http://code.google.com/p/selenium/wiki/GettingStarted

它成功运行,但是Eclipse的抛出一堆警告消息。如何禁止显示?我真正需要的是最后一行Page title is: Cheese! - Google Search

17-Aug-2010 12:07:00 AM com.gargoylesoftware.htmlunit.util.StringUtils parseHttpDate 
WARNING: Unable to parse date: -1 
17-Aug-2010 12:07:00 AM com.gargoylesoftware.htmlunit.util.StringUtils parseHttpDate 
WARNING: Unable to parse date: -1 
17-Aug-2010 12:07:01 AM com.gargoylesoftware.htmlunit.DefaultCssErrorHandler error 
WARNING: CSS error: null [1:4686] Error in style rule. Invalid token "*". Was expecting one of: <S>, "}", ";", <IDENT>. 
17-Aug-2010 12:07:01 AM com.gargoylesoftware.htmlunit.DefaultCssErrorHandler warning 
WARNING: CSS warning: null [1:4686] Ignoring the following declarations in this rule. 
17-Aug-2010 12:07:01 AM com.gargoylesoftware.htmlunit.DefaultCssErrorHandler error 
WARNING: CSS error: null [1:6505] Error in expression. Invalid token ";". Was expecting one of: <S>, <PLUS>, "-", <HASH>, <STRING>, <URI>, "inherit", <EMS>, <EXS>, <LENGTH_PX>, <LENGTH_CM>, <LENGTH_MM>, <LENGTH_IN>, <LENGTH_PT>, <LENGTH_PC>, <ANGLE_DEG>, <ANGLE_RAD>, <ANGLE_GRAD>, <TIME_MS>, <TIME_S>, <FREQ_HZ>, <FREQ_KHZ>, <DIMENSION>, <PERCENTAGE>, <NUMBER>, <FUNCTION>, <IDENT>. 
Page title is: Cheese! - Google Search 

回答

8

通过zloiadun给出的答案并不在这里工作,而不是我不得不用,

Logger logger = Logger.getLogger (""); 
logger.setLevel (Level.OFF); 

..根据需要更改getLogger(..)和级别。

0

使用的HtmlUnit下议院日志记录。你可以参考here了解更多详情。

由于快速提示,你可以通过设置下面的系统属性禁用警告:

System.getProperties().put("org.apache.commons.logging.simplelog.defaultlog", "fatal"); 
1

设置属性有助于:

log4j.logger.com.gargoylesoftware.htmlunit.DefaultCssErrorHandler =错误

我这样做是在logging.properties和一块我的build.xml,为例如:

<target name="selenium"> 
    <junit fork="yes" haltonfailure="yes"> 
     <sysproperty key="java.util.logging.config.file" value="WEB-INF/classes/logging.properties" /> 
     ... 
    </junit> 
</target> 
6

虽然没有这些东西为我工作,我发现我可以通过使一个自定义的ErrorHandler关起来的HtmlUnit ...这是有点ç heesy ...但它给你良好的控制如果你需要它:

 webClient.setCssErrorHandler(new ErrorHandler() { 
     //Saint 
     @Override 
     public void warning(CSSParseException arg0) throws CSSException { 
      // stare blankly 

     } 

     @Override 
     public void fatalError(CSSParseException arg0) throws CSSException { 
      // twiddle thumbs 

     } 

     @Override 
     public void error(CSSParseException arg0) throws CSSException { 
      // drool on shirt 

     } 
    }); 
+3

这一次真的帮了我。但实际上这个解决方案现在也是可用的:'client.setCssErrorHandler(new SilentCssErrorHandler())' – mavilein 2014-08-11 13:46:46

4

因为这里所讨论:Can't turn off HtmlUnit logging messages

下面的代码工作最适合我:

static { 
    java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(java.util.logging.Level.SEVERE); 
} 
+1

这看起来应该可行,但不适合我。我不得不使用James的版本,而使用未命名的记录器。 – 2013-06-07 21:00:16

+0

这适用于我。为了完全关闭HtmlUnitDriver,您可以将级别设置为* java.util.logging.Level.OFF *。 – lcn 2014-02-05 01:57:16

相关问题