Serenity BDD黄瓜 - 有没有办法避免过度编写报告文件夹?

时间:2016-10-25 20:33:20

标签: serenity-bdd cucumber-serenity

目前,当生成报告时,它会覆盖先前运行的报告文件夹。是否可以通过传递这样的内容来指定文件夹中的时间戳?

  

serenity.outputDirectory =在宁静属性文件中报告\& Now()..

我可以编写代码,在运行时将文件中的文件移动到新生成的目录中。这里面临的挑战是,我们不知道生成报告的重点。

1 个答案:

答案 0 :(得分:0)

我有一个更简单,更快捷的解决方案。也不需要编码。这就是你要做的:

我正在使用Windows命令行/ .BAT文件和Maven。

在CMD中,创建自己的时间戳变量,例如:

set mytimestamp=%date:~10,4%%date:~7,2%%date:~4,2%_%time:~0,2%%time:~3,2%%time:~6,2%

然后

echo %mytimestamp%

输出应该是这样的

20162710_122305

请确保不要在格式中包含“/”或空格。这些可能会导致意外的文件夹层次结构,这很可能会导致您的构建失败。

将此传递给serenity.outputDirectory只做(在Maven中)

mvn test -Dserenity.outputDirectory=target/site/report_%mytimestamp%

这就是你得到的

output folders

*请注意,如果您运行mvn clean,则会清除所有报告。此外,这不会永久覆盖项目的serenity.outputDirectory属性。如果您不使用-Dserenity.outputDirectory=target/site/report_%mytimestamp%,则该属性将默认为您项目中的任何值。

这就是.BAT文件的样子

set mytimestamp=%date:~10,4%%date:~7,2%%date:~4,2%_%time:~0,2%%time:~3,2%%time:~6,2%
call mvn test -Dserenity.outputDirectory=target/site/report_%mytimestamp%