robot framework-tags(标签)实例

    robot framework的标签是一个简单而又强大的分类机制,功能如下:

  • 标签在reports,logs以及测试数据中展示,显示关于测试用例的元数据信息
  • 用例的执行统计(total,passed,failed就是自动基于标签收集的)
  • 使用标签,可以包含或排除测试用例来执行
  • 使用标签,可以指定哪些是关键用例

    标签的几种方式:

  • Force Tags:包含该设置的测试用例文件中所有用例都被指定打上这些标签
  • Default Tags:没有单独设置Tags的用例将被打上这些默认标签
  • [Tags] in the Test Case table:每个测试用例各自要打的标签,如果设置了,就不再包含Default Tags。所以可以通过设置一个空值来覆盖默认标签,也可用NONE。
  • --settag 命令行选项:所有通过包含该选项的命令执行的测试用例,除了已有的标签,都会再加上选项中指定的标签。

    标签本身就是任意的文本,但是它们会被标签化:去除所有的空格,全部转为小写。如果一个用例被打上相同的标签多次,仅保留第一个。标签可以使用变量来创建,只要变量存在即可。

    建议使用标签来指定环境或用户信息等这类元数据。

 

实例一:登录

*** Test Cases ***

登录
    [Tags]    dltest
    登录app    15000000001    mima    161a3797c824bccd58c    


*** Keywords ***
登录app
[Arguments]   ${username}   ${password}     ${jPushId}   ${ssohost}=${EMPTY}
log 开始登录
${data}= Create Dictionary    loginName=${username}    password=${password}    jPushId=${jPushId}
${json}= Rest.post /rest/account/login    ${data}    form    ${ssohost}
Should Be True ${json["success"]}


Rest.post
[Arguments]    ${uri}    ${params}    ${type}=form    ${cur_host}=${EMPTY}
#设置代理服务器,方便调试
${proxy}= Create Dictionary    http=http://1270.0.1:8888
${host}= Set Variable    ${EMPTY}
: FOR    ${tag}    IN    @{TEST TAGS}
\ ${host}=    Evaluate    $hosts.get($tag,"")
\ Run Keyword If    "${host}"!=""    Exit For Loop
#创建session,跨域模式,不需要维护Session
Run Keyword If    "${cur_host}"!=""    Create Session _session    ${cur_host}
... ELSE    Create Session    _session    ${host}
#根据请求数据的类型设置header
${headers}=    Run Keyword If    "${type}"=="form"    Create Dictionary    Content-Type=application/x-www-form-urlencoded
... ELSE IF    "${type}"=="json"    Create Dictionary    content-Type=application/json
${response}=    Post Request    _session    ${uri}    ${params}    headers=${headers}
Should Be Equal As Strings    ${response.status_code}    200
log    ${response.text}
${json}=    Set Variable    ${response.json()}
[Return]    ${json}

 

posted @ 2018-04-23 21:58  子信风蓝蓝  阅读(3985)  评论(0编辑  收藏  举报