2017-05-08 104 views
2

我有一个文件夹(测试)在机器人的文件,如下图所示:如何强制机器人框架按顺序选择机器人文件?

tests 
    1_robotfile1.robot 
    2_robotfile2.robot 
    3_robotfile3.robot 
    4_robotfile4.robot 
    5_robotfile5.robot 
    6_robotfile6.robot 
    7_robotfile7.robot 
    8_robotfile8.robot 
    9_robotfile9.robot 
    10_robotfile10.robot 
    11_robotfile11.robot 

现在如果我执行'/root/users1/power$ pybot root/user1/tests'指令,机器人的文件按照以下顺序运行:

tests 
    1_robotfile1.robot 
    10_robotfile10.robot 
    11_robotfile11.robot 
    2_robotfile2.robot 
    3_robotfile3.robot 
    4_robotfile4.robot 
    5_robotfile5.robot 
    6_robotfile6.robot 
    7_robotfile7.robot 
    8_robotfile8.robot 
    9_robotfile9.robot 

我想迫使robot_framework按顺序选择机器人文件,如1,2,3,4,5 ....

我们有任何选择吗?

+1

你有能力重新命名你的测试吗?给他们所有三位数前缀:001_robotfile1.robot,002_robotfile2.robot,010_robotfile10.robot,... –

+0

@BryanOakley谢谢。重命名文件后,它按预期工作。 – rcubefather

回答

4

如果你有重命名文件的选项,你只需要确保前缀可排序。对于数字,这意味着它们应该都具有相同的数字位数。

我建议重命名你的测试用例有三位或四位数字为前缀:

001_robotfile1.robot 
002_robotfile2.robot 
003_robotfile3.robot 
004_robotfile4.robot 
005_robotfile5.robot 
006_robotfile6.robot 
007_robotfile7.robot 
008_robotfile8.robot 
009_robotfile9.robot 
010_robotfile10.robot 
011_robotfile11.robot 
... 

就这样,他们将在您所期望的顺序进行排序。

0

标签的测试,foo和栏,以便您可以单独运行各个测试:

pybot -i foo tests 

pybot -i bar tests 

,并决定为了你想

pybot -i bar tests || pybot -i foo tests 
+1

问题是,我有100多个机器人文件,以及这些机器人文件中的800多个测试用例。我认为,添加标签将是一项耗时的工作。 – rcubefather

3

继@Emna答案,RF文档(http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#execution-order)提供了一些解决方案。

所以,你该怎么办:

  1. 重命名的所有文件已经连续和计算机编号(001-test.robot代替1- test.robot)。这可能会破坏对其他文件(资源)的任何内部引用,难以在中间添加测试,在执行顺序需要更改时容易出错
  2. 您可以将其标记为Emna
  3. 来自RF文档的想法 - 编写脚本创建参数文件,它将以适当的方式保持排序并将其用作机器人执行的参数。对于1000多个文件,它不应该超过几秒钟。
  4. 尝试设计测试不依赖于执行顺序,而是使用套件设置。

好运;)

+0

感谢您更新我的想法! – Emna