有没有办法让Robot Framework按特定顺序运行测试套件?

Cal*_*yth 12 testing robotframework

假设我在本地目录foo和bar中有2个测试套件,我想按照foo然后bar的顺序运行测试套件.

我试图运行pybot -s foo -s bar .,但它然后只是运行bar然后foo(即按字母顺序).

有没有办法让pybot运行机器人框架套件按我定义的顺序执行?

sju*_*dǝʊ 13

Robot框架可以使用可用于指定执行顺序的参数文件(docs):

这是来自较旧的文档(不再在线):

参数文件的另一个重要用法是按特定顺序指定输入文件或目录.如果字母默认执行顺序不合适,这可能非常有用:

基本上,您创建类似于启动脚本的东西.

--name My Example Tests
tests/some_tests.html
tests/second.html
tests/more/tests.html
tests/more/another.html
tests/even_more_tests.html
Run Code Online (Sandbox Code Playgroud)

有一个简洁的功能,从参数文件,您可以调用另一个可以覆盖以前设置的参数的参数文件.执行是递归的,因此您可以根据需要嵌套任意数量的参数文件

另一种选择是使用启动脚本.您必须处理其他方面,例如您正在运行测试的操作系统.您还可以使用python在多个平台上启动脚本.本部分文档中还有更多内容


bin*_*thb 12

如果RF目录中有多个测试用例文件,则可以通过将数字作为测试用例名称的前缀来指定执行顺序,如下所示.

01__my_suite.html - >我的套房02__another_suite.html - >另一套房

如果这些前缀与具有两个下划线的套件的基本名称分开,则它们不包含在生成的测试套件名称中:

更多细节在这里.

http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#execution-order

  • @Calyth请记住,精心编写的测试可以独立于订单运行绿色! (2认同)