2016-04-18 4 views
0

Wir haben Testautomatisierung Skripte in Cucumber-JVM. Im Moment dauert es ungefähr 2 Stunden, um unsere Skripte auszuführen und wir verwenden json formatter für den Bericht. Wir erhalten einen Bericht nach der Ausführung.Gurke-JVM Bericht nach jedem Szenario

Gibt es eine Möglichkeit, Gurke.json Bericht nach jedem Szenario mit JSON Formatierer zu veröffentlichen? Ich sollte den Bericht während der Ausführung sehen können. Ich muss nicht warten, bis alle Skripte abgeschlossen sind.

Antwort

0

Weitere Details (z. B. Laufzeit Jenkins? Eclipse auf Linux-Desktop? Verwenden Sie log4j?) Wäre hilfreich gewesen. Das heißt, in der Nach hook können Sie den Szenario-Status in eine Datei schreiben, die Sie dann tail können.

# root level configurations 
log4j.rootLogger=INFO,console,file 

# configuration for console outputs 
log4j.appender.console=org.apache.log4j.ConsoleAppender 
log4j.appender.console.layout=org.apache.log4j.PatternLayout 
log4j.appender.console.layout.ConversionPattern=%d{HH:mm:ss} %-5p %c{1}:%L - %m%n 

# configuration for file output (into a file named messages.log) 
log4j.appender.file=org.apache.log4j.RollingFileAppender 
log4j.appender.file.File=messages.log 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 

# threshold for file output 
log4j.appender.file.Threshold=INFO 

Natürlich, wenn Sie eine Konsole haben dann keine Notwendigkeit, Schwanz:

@After 
public void afterScenarioExecution(Scenario scenario) { 
    log = Logger.getLogger(YourClass.class); 
    log.info("Scenario: '" + scenario.getName() + "' has status " + scenario.getStatus()); 
    } 
} 

Ihre log4j.properties Datei könnte wie folgt aussehen.