RF 执行测试用例的命令

用例的执行 (13 min)

指定执行的测试套件 (5 min)

Robot Framework 的命令格式如下

robot [options] data_sources

其中 :

options 是 RF命令的选项, 可以为空

data_sources 则是 要执行的测试套件文件或者目录的路径。可以是绝对路径,也可以是相对路径,相对与当?shell? 的工作目录。

robot tests.robot

robot path/to/my_tests/

robot c:\robot\tests.robot

 

如果指定的是测试套件文件,则执行该文件中所有的测试用例。

如果指定的是测试套件目录,则递归执行该目录下包含的所有的子目录里面所有测试套件文件里面的用例。

 

不管是执行测试套件文件还是目录, RF认为本次测试的名字就是data_sources参数

 

===============================

当然我们也可以指定多个要执行的测试套件文件、目录,甚至用通配符来表示多个测试,如下所示:

robot my_tests.robot your_tests.robot

robot --name Example path/to/tests/pattern_*.robot

像这种多个测试数据的情况,本次测试的名称 就是把 它们的名字相加, 比如上面的第一个对应的本次测试名称就叫 My Tests & Your Tests。

我们可以用--name选项来指定本次测试名称,像上面第二行所示。

 

比如这里,我们刚才的套件执行可以是:

robot --pythonpath . --name  回归测试  tc

 

 

根据 名称 选择测试用例(3 min)

我们可以通过 --test --suite 来指定执行哪些用例或者套件,而且还支持用通配符的方式。

--test Example                # 执行名为example的用例

--test mytest --test yourtest   # 执行名为mytest和 yourtest的用例

--test example*              # 执行名字以example开头的用例

--suite mysuite              # 执行 名为mysuite的套件

 

比如,我们想只测试 添加老师1 这个套件

robot --pythonpath . --test  添加老师1  tc

 

注意这个参数得和 data source 参数一起使用,不能单独使用

-----------------------------

通常,我们可以在用例后面加上测试管理系统的用例id, 就可以根据用例ID,来选择用例了

如果我们得到的用例清单 如下

tc00001

tc00002

tc00003

tc00004

tc00005

 

我们就可以这样执行

robot --pythonpath . --test *tc00001  --test *tc00002 --test *tc00003 --test *tc00004 --test *tc00005  t1.robot

 

如果有的时候,个数太多,参数岂非太长了?

我们通常可以使用参数文件

 

参数文件 (5 min)

如果有的时候,参数太长,我们通常可以使用参数文件,我们可以把所有的参数都放在参数文件中,比如

--pythonpath .

--name 回归测试

--test *tc00001

--test *tc00002

--test *tc00003

--test *tc00004

--test *tc00005

t1.robot

 

我们的命令就只需要  robot -A argfilename 就可以了

如果用例参数文件args.txt内容如下

--pythonpath .

--name 回归测试

--test  tc0001

--test  tc0002

tc

 

就可以执行 robot -A args.txt

 

通过标签选择测试用例 (15 min)

前面我们已经学习过,通过用例名和套件名来选择测试用例。

还有一种选择测试用例的方法,是根据用例的标签

 

指定标签

我们可以给测试用例打上标签(Tag),这样在运行的时候,可以通过标签指定要运行哪些用例。

测试用例可以有多个标签,

我们根据任何一个标签都可以过滤到该用例。

 

给用例打Tag有如下几种方式

    • Setting 表里的Force Tags 

如果我们在测试套件文件的Settings表设置了Force Tags,

那么该套件里面所有测试用例都具有了该tag

如果我们在测试套件目录初始化文件的Settings表设置了Force Tags,

那么该套件里面所有测试用例都具有了该tag

 

    • 测试用例表里的 [tags] 配置

很简单,就是该用例的tag,

 

    • Setting 表里的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 one   --include "web test"

--include oneORtwo     # 执行包含 标签'one'或者'two' 的用例.

--include oneNOTtwo     # 执行包含 标签'one'但是不包含标签'two' 的用例.

# 执行 标签格式为 W*W 的用例.

--include w*w     #比如w2w, ww, w33333w

指定关键测试用例 (8 min)

RF执行时,可以指定用例是否是关键测试(critical)用例。

如果本次测试中有关键测试用例没有通过,那么整个测试就被视为测试不通过。

(哪怕是100个中只有一个关键用例没有通过)

反之,整个测试就视为通过。(哪怕是100个中有99个非关键用例没有通过,只有1个通过)

 

-------------------------------

缺省情况下,RF执行测试时,每个测试用例都被视为关键测试用例。

---------------------

我们可以通过命令参数

--critical (-c)  和 --noncritical (-n)  后面加tag 名称 来指定测试用例是否为关键测试用例。

比如:

--critical regression

指定 只有具有 regression 标签的用例才是关键用例  其它都不是

 

--noncritical not_ready

指定 不具有 not_ready 标签的用例是关键用例,其他用例都不是关键用例。

 

--critical ok*  --noncritical tbd*

指定 具有 以ok开头的标签 且 没有以tbd开头的标签 的用例都是关键用例,其他用例都不是是关键用例。

----------------------

通常我们可以在关键用例中打上标签 ,比如 basic 、important,critical  表示是关键用例,这样就可以方便的直接标明用例是否为关键用例。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值