我们在Cucumber-JVM中有测试自动化脚本。目前执行脚本大约需要2个小时,我们使用json格式化程序进行报告。我们在执行后得到报告。
有没有办法在使用json格式化程序的每个场景后发布cucumber.json报告?我应该能够在执行期间看到报告。我不必等到所有脚本都完成。
答案 0 :(得分:0)
更多细节(例如运行时Jenkins?Linux桌面上的Eclipse?你使用的是log4j吗?)会有所帮助。话虽这么说,在hook之后,你可以将场景状态写入一个文件,然后你可以tail。
@After
public void afterScenarioExecution(Scenario scenario) {
log = Logger.getLogger(YourClass.class);
log.info("Scenario: '" + scenario.getName() + "' has status " + scenario.getStatus());
}
}
您的log4j.properties文件可能如下所示:
# 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
当然,如果你有一个控制台,那么就不需要拖尾了。