2010-08-17 8 views
5

esecuzione la fonte esempio aAPI webdriver: come disabilitare i messaggi di errore dettagliati?

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

venga eseguito correttamente, tuttavia Eclipse getta gruppo di messaggi di avviso. Come posso disabilitare questa visualizzazione? Tutto quello che ho davvero bisogno è l'ultima riga 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 

risposta

8

La risposta data da zloiadun non ha funzionato qui, invece ho dovuto usare,

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

.. cambiando il getLogger (..) e livellando secondo necessità.

0

HtmlUnit utilizza i Commons Logging. È possibile fare riferimento a here per ulteriori dettagli.

Come rapido accenno, è possibile disattivare gli avvisi impostando la seguente proprietà di sistema:

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

L'impostazione della proprietà aiuta:

log4j.logger.com.gargoylesoftware.htmlunit.DefaultCssErrorHandler = ERRORE

ho fatto in logging.properties e un pezzo del mio build.xml, per esempio:

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

Anche se nessuna di queste cose ha lavorato per me, ho scoperto che avrei potuto chiudere HtmlUnit fino facendo un ErrorHandler personalizzato ... questo è un pò c heesy ... ma ti dà un ottimo controllo se ne avete bisogno:

 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

Questo davvero mi ha aiutato . Ma in realtà questa soluzione è anche disponibile immediatamente: 'client.setCssErrorHandler (new SilentCssErrorHandler())' – mavilein

4

Come discusso qui: Can't turn off HtmlUnit logging messages

Il seguente codice ha funzionato meglio per me:

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

Sembra che dovrebbe funzionare, ma non per me. Ho dovuto usare la versione di James invece, con il logger senza nome. –

+0

Questo funziona per me. E per chiudere completamente HtmlUnitDriver, puoi semplicemente impostare il livello su * java.util.logging.Level.OFF *. – lcn

Problemi correlati