用例执行与用例标签

用例执行

Robot Framework 的命令格式如下:

  robot [options] data_sources

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

  常用options :

    --pythonpath(-P)            指定python模块搜索路径

    --name                  指定本次测试名称

    --test(-t)                指定执行的测试用例名称

    --suite(-s)              指定测试套件

    --output(-o) file(xml文件)             指定文件输出的文件名

    --outputdir(-d) 目录                          执行文件输出目录

    --variable(-v) <name:value>       设置运行时的变量

    --varialbefile(-V) <path:args>     设置运行时的变量(从文件读取)

    --rerunfailed(-R) <outputxml_file>  设置重新运行失败的用例

    --rerunfailedsuites(-S) <outputxml_file> 设置重新运行失败的用例套件

    -A 参数文件               指定参数文件

    --critical (-c)             指定关键测试用例

    --noncritical (-n)           指定不为关键测试用例  

    --include(-i) foo  #          执行包含 标签'foo' 的用例.    

    --exclude(-e) foo          # 执行不包含标签'foo' 的用例

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

    robot tests.robot

    robot path/to/my_tests/

    robot c: obot ests.robot

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

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

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

    robot my_tests.robot your_tests.robot

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

  RF认为本次测试的名字就data_sources参数,--name选项来指定本次测试名称

根据测试用例名称选择用例

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

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

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

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

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

  robot -P . --suite 功能1 tc

  指定多个测试套件

  

  

   

  robot -P . --suite  t1 --test case2 tc

  

   

参数文件  

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

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

  tc00001

  tc00002

  tc00003

  tc00004

  tc00005

  我们就可以这样执行

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

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

    可以使用参数文件

  robot -A argfilename

  参数文件:--pythonpath .
       --name 回归测试
       --test  tc0001
       --test  tc0002
       tc

用例标签

  打Tag方式

    1、Setting 里的Force Tags

      如果我们在测试套件文件的Settings表设置了Force Tags, 那么该套件里面所有测试用例都具有了该tag

      如果我们在测试套件目录初始化文件的Settings表设置了Force Tags,那么该套件里面所有测试用例都具有了该tag

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

      

     3、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 oneORtwo     # 执行包含 标签'one'或者'two' 的用例.

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

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

    -include w*w     #比如w2w www33333w

    

     

             

     

 指定关键测试用例

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

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

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

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

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

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

原文地址:https://www.cnblogs.com/aiyumo/p/11944901.html