我在Robot Framework中有15个单独的API测试。我想创建一个机器人测试套件并在这个套件中进行所有15个测试,这样我就可以运行一次.robot套件并运行所有15个测试。
假设我有3个单独的测试:
1. Login.robot
2. Get_customer_data.robot
3. Get_product_info.robot我希望将所有这些测试放在一个套件中,这样当我运行套件时,它会立即运行三个测试。此外,我们使用模拟数据而不是数据库,因此所有模拟的数据文件当前都位于相应的测试文件夹中。
例如:有一个名为Login的文件夹,其中包含login_data(数据文件)和login.robot(Robot文件)。
我想我将创建一个包含所有.robot文件的套件,并将数据文件保留在相应的文件夹中,以便套件在运行套件时访问它们。我想知道这是否正确,是否有一份文件可以帮我解决这个问题。请帮忙
有人可以帮忙吗?
答案 0 :(得分:1)
你的问题提到有15种不同的测试看起来你真正拥有的是15种不同的机器人测试套件(即:带有.robot
后缀的15个不同文件)基于你的评论写。
将它们组合成一个可以一次运行的套件的最简单方法是将它们放在一个目录中。然后,您可以告诉机器人运行该目录,它将找到所有.robot
个文件并运行它们。
例如:
tests
└── api
├── Get_customer_data
│ ├── customer_data
│ └── Get_customer_data.robot
├── Get_product_info
│ ├── Get_product_info.robot
│ └── product_data
├── Login
│ ├── login_data
│ └── Login.robot
└── ...
如果你cd到tests
文件夹,你可以robot api
,它将运行该文件夹中的所有.robot文件。或者,您可以tests
文件夹的父级robot tests/api
。
测试套件目录在机器人框架用户指南的标题为Test suite directories
的部分中有详细记录。答案 1 :(得分:0)
实际上有一种简单的方法可以使用pybot从命令行执行此操作。我已经用Pycharm证实了这一点。
首先,将所有.robot文件放在一个文件夹中。然后在命令行上输入pybot TestSuite/Test1.robot
,而不是键入pybot TestSuite/*
。这将按字母顺序运行(我观察到的)所有测试。
这可能是字母顺序,因为这是他们在我的文件夹中的顺序,而不是因为它实际上以这种方式运行它们,而是使用数字修复每个测试的前缀,例如1_Login.robot
,2_Get_customer_data.robot
3_Get_product_info.robot
。这将按数字顺序执行所有操作。如果您的数量超过10,请使用01,02,03等确保一切正常。
要执行一次单击操作,您可以将该行放入.cmd文件中,但这可能超出了您的问题范围。