如何按特定顺序在robotframework中执行TEST SUITES?

时间:2018-02-13 03:59:05

标签: testing jenkins automation automated-tests robotframework

我使用Robotframework在以下结构中设置了我的测试:

Directory1: 
  - SuiteA
  - SuiteB
  - SuiteC

Directory2: 
  - SuiteA
  - SuiteB

我想先使用“pabot”在Directory2中执行套件之前,先从Directory1执行所有测试套件。 Directory2中的测试套件依赖于Directory1中的测试套件,因此执行必须按此顺序执行。如何以这种方式订购执行?

我正在网上阅读有关使用参数文件来指定执行顺序的信息,但我无法弄明白。我还阅读了Robotframework的文档,并使用“number__testsuitename”命名约定相应地命名我的测试套件,但这也没有用。

有什么想法吗?提前致谢!

2 个答案:

答案 0 :(得分:1)

基本上,您需要使用要并行运行的测试/套件来修改.pabotsuitenames文件,并添加#WAIT标志,以防需要顺序运行(例如) :

datasources:7a60d412cbd2efd728502cddce7ce4cd4b57aa42
commandlineoptions:65f95c924ba97541f47949701c4e3c51192a5b43
suitesfrom:no-suites-from-option
file:984cbf6a94ce4d05453079d2eedf2399a3cae664
--suite Directory 1 Name.Suite A Name 
--suite Directory 1 Name.Suite B Name
--suite Directory 1 Name.Suite C Name
#WAIT
--suite Directory 2 Name.Suite A Name 
--suite Directory 2 Name.Suite B Name

pabot确实提供了一些选项来控制并行度和执行顺序。在项目的自述文件中对此进行了描述:

  

.pabotsuitenames文件包含将要执行的套件的列表。如果文件不在执行过程中,则会在pabot执行期间创建。该文件是pabot在重新执行相同测试以加快处理速度时使用的缓存。该文件可以部分手动编辑。前4行包含不应编辑的信息-当某些更改时,pabot将对其进行编辑。之后是套件名称。

     

存在三种影响执行的可能性:

     

套件的顺序可以更改。   如果目录(或目录结构)应顺序执行,请将目录套件名称添加到一行。   您可以添加一行带有文本#WAIT的行,以强制执行程序等待所有先前的套件执行完毕。

Pabot Github

答案 1 :(得分:0)

pabot在套件结构中的效果不佳,例如“ 01__B_Test”,因为它将变为“ B_Test”。这意味着套件将按字母顺序而不是编号顺序执行。要解决此问题,所有套件都必须包含在.pabotsuitenames中才能再次调整顺序。拥有数百套套房,这不但麻烦。