bwoken:如何设置输出目录

时间:2014-09-11 08:48:33

标签: testing jenkins ui-automation

我使用bwoken在jenkins上测试我的UI自动化,如下所示:

bwoken test

问题:测试结果总是出现在不同的子文件夹中,这些子文件夹对应于运行的编号。测试结果预期在文件夹集成/ tmp / results中。但是他们又在子文件夹中出现过像#34; Run 1"," Run 2",...

在下一步中,我需要将测试结果解析为jUnit格式。但我不知道如何获取相应的文件,如果它们总是在子文件夹中。

所以我没有把我的文件放在" integration / tmp / results / Run x"中,我只想要最新的 - 而且只有最新的 - 导致" integration / tmp / results /& #34;

任何帮助我如何找到/复制相应的文件或如何告诉bwoken将输出放在哪里?

3 个答案:

答案 0 :(得分:1)

bwoken的作者。

Bwoken目前没有提供为测试运行指定输出文件夹的方法。乐器本身实际上选择了名称" Run 1"," Run 2"等等。

作为一种解决方法,我建议使用像ls -1tr integration/tmp/results/ | tail -1之类的命令来获取最近修改过的目录名。

希望这有帮助!

答案 1 :(得分:0)

在每次构建开始之前,您可能会从清理工作区中受益;这样你的输出文件将在可预测的路径中。

然后,您可以使用该路径生成jUnit结果,并另外告诉Jenkins归档构建输出,jUnit结果或两者(以便将它们移出工作区并进入结果目录以便妥善保管,在下一个构建之前擦除工作区。)

为此,您可以执行以下操作:

  • 在构建开始之前启用"删除工作区" Jenkins工作的复选框

  • 运行该作业几次,并确保始终在integration/tmp/results/Run 1

  • 中找到输出文件
  • 设置jUnit转换步骤以在该路径上运行

  • 要归档文件,请在作业配置中单击Add post-build action > Archive the artifacts,然后输入模式以存档要保存的文件。例如:integration/tmp/results/Run 1/*

答案 2 :(得分:0)

我不确定是否可以删除文件夹隔离(Run 1,Run 2,...),但还有其他方法可以完成您的工作。一种方法是将文件从最新文件夹(例如,运行N,其中N是最高编号文件夹)复制到另一个目录。

这意味着您只需从具有“Run N”模式的目录中找到最新文件,然后将其复制到另一个位置(在本例中为 integration / tmp / results / )。 / p>

我从您的查询中假设以下内容:
1.你正在制作一个* nix盒子 2.它只是在每个“Run N”文件夹中发布的单个文件。

让我们说,

[tom@jenkins ~]$ ls -ltr
total 16
drwxr-xr-x 2 tom tom 4096 Sep 11 22:49 Run 1
drwxr-xr-x 2 tom tom 4096 Sep 11 22:51 Run 2
drwxr-xr-x 2 tom tom 4096 Sep 11 22:53 Run 3
drwxr-xr-x 2 tom tom 4096 Sep 11 22:55 Run 4
drwxr-xr-x 2 tom tom 4096 Sep 11 22:57 testdir

因此,在测试结果发布到“Run N”文件夹之后,您可以运行此单行程序来获取最新文件并将其复制到目标目录。

cp "$(find . -type f -printf "%T@ %Tc %p\n" | grep Run | sort -n | tail -1 | cut -d' ' -f9-)" .

您可以根据自己的要求修改上述命令。