Serenity BDD cucumber - 有没有办法避免过度写入报告文件夹?
Serenity BDD cucumber - is there a way in serenity to avoid over writing the report folder?
目前生成报告时会覆盖之前 运行 的报告文件夹。是否可以通过传递这样的内容来指定文件夹在名称中具有时间戳?
serenity.outputDirectory=reports\&Now() in serenity properties file..
我可以编写代码,在 运行 时间内将报告文件中的任何文件移动到新生成的目录。这里的挑战是,我们不知道报告的生成点。
我为您提供了一个更简单、更快速的解决方案。也不需要编码。这就是你要做的:
我正在为此使用 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%
这就是你得到的
*请注意,如果您 运行 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%
目前生成报告时会覆盖之前 运行 的报告文件夹。是否可以通过传递这样的内容来指定文件夹在名称中具有时间戳?
serenity.outputDirectory=reports\&Now() in serenity properties file..
我可以编写代码,在 运行 时间内将报告文件中的任何文件移动到新生成的目录。这里的挑战是,我们不知道报告的生成点。
我为您提供了一个更简单、更快速的解决方案。也不需要编码。这就是你要做的:
我正在为此使用 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%
这就是你得到的
*请注意,如果您 运行 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%