zoukankan      html  css  js  c++  java
  • 用例执行与用例标签

    用例执行

    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 名称 指定测试用例是否为关键测试用例

  • 相关阅读:
    leetcode 350. Intersection of Two Arrays II
    leetcode 278. First Bad Version
    leetcode 34. Find First and Last Position of Element in Sorted Array
    leetcode 54. Spiral Matrix
    leetcode 59. Spiral Matrix II
    leetcode 44. Wildcard Matching
    leetcode 10. Regular Expression Matching(正则表达式匹配)
    leetcode 174. Dungeon Game (地下城游戏)
    leetcode 36. Valid Sudoku
    Angular Elements
  • 原文地址:https://www.cnblogs.com/aiyumo/p/11944901.html
Copyright © 2011-2022 走看看