用例的执行
指定执行的测试套件
RF的命令格式如下
robot [options] data_sources
options 是RF命令的选项,可以为空
data_sources则是要执行的测试套件文件或者目录的路径,也可以是相对路径,相对于当前shell的工作目录。
robot tests.robot
robot path/to.my_tests/
robot robot/tests.robot
如果指定的是测试套件文件,则执行该文件中所有的测试用例。
如果指定的是测试套件目录,则递归执行该目录下包含的所有的子目录里面所有测试套件文件里面的用例。
不管是执行测试套件文件还是目录,RF认为本次执行的名字就是data_sources参数也可以指定多个要执行的测试套件文件、目录,甚至用通配符来表示多个测试,实例如下:
也可以将测试目录与文件一同执行
robot my_tests.robot your_tests.robot test
robot --name Example path/to/tests/pattern_*.robot
像这种多个测试数据的情况,本次测试的名称就是把他们的名字相加,比如上面的第一个对应的本次测试名称就叫My Tests & Your Tests
我们可以用--name选项来指定本次测试名称,像上面所示。
根据名称选择测试用例
可以通过--test --suite 来指定执行哪些用例或者套件,而且还支持用通配符的方式。
--test Example #执行名为example的用例
--test mytest --test yourtest #执行名为mytest 和 yourtest的用例
--test example* #执行名字以example开头的用例
--suite mysuite #执行名为mysuite的套件
参数文件
如果有的时候,参数太长,可以使用参数文件,把所有的参数都放在参数文件中,比如
注意:每个用例写一行
--pathonpath .
--name 回归测试
--test 用例10001
--test 用例10002
--test 用例10004
--test 用例3000*
webtest
执行命令:robot -A argfilename
通过标签选择测试用例
指定标签
我们可以给测试用例打上标签(tag),这样在运行的时候,可以通过标签指定要运行那些用例。
测试用例也可以有多个标签,根据任何一个标签都可以过滤到该用例。
给用例大tag有如下几种方式:
- settings表中的Force Tags
如果在测试套件文件的Settings表设置了Force Tags,
那么该套件里面所有测试用例都具有了该tag。 - 测试用例表里的[tags]配置,就是该用例的tag
- Settings表里的Default Tags
如果在测试套件文件的Settings表设置了Default Tags,
那么该套件里面所有没有 [tags]设置的测试用例都具有了该tag。
注意测试目录里面的__ init __.robot不支持Default Tags
实例:
--include foo #执行包含 标签‘foo’的用例
--exclude foo #执行不包含标签‘foo’的用例
--include oneAND"web test" #执行同时包含标签‘one’,‘web test’的用例,因为有空格,所以用引号。
--include oneORtwo #执行包含标签‘one’或者‘two’的用例
--include oneNOtwo #执行包含标签‘one’但是不包含标签‘two’的用例。
执行标签格式为ww的用例
--include w*w 比如w2w,ww,w33333w
指定关键测试用例
Report里可以看到有critical Tests的名词
RF执行时,可以指定用例是否是关键测试用例
如果本次测试中有关键测试用例没有通过,那么整个测试就被视为测试不通过,反之整个测试就被视为通过。
缺省情况下,RF执行测试时,每个测试用例都被视为关键测试用例。
可以通过命令参数
--critical(-c) 和 --noncritical(-n)后面加tag名称来指定测试用例是否为关键测试用例
比如
--critical regression
指定只有具有regression标签的用例才是关键用例其他都不是
--noncritical not_ready
指定不具有not_ready标签的用例是关键用例,其他用例都不是关键用例。
--critical ok* --noncritical tdb*
指定以ok开头的标签且没有以tdb开头的标签的用例都是关键用例,其他用例都不是关键用例。
查看参数的使用
robot --help
网友评论