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}

原文地址:https://www.cnblogs.com/chengchengla1990/p/8922090.html

最新文章

  1. C# 合并及拆分PDF文件
  2. linux安装adb
  3. SQL Server-数据库架构和对象、定义数据完整性(二)
  4. Iframe 知识点总结
  5. Taylor定理证明
  6. C++回调函数的应用<转自:http://blog.csdn.net/wubin1124/article/details/4386269>
  7. 20141124-JS函数
  8. poj3101
  9. MVC中使用EF(2):实现基本的CRUD功能
  10. 加装 ImageMagick 性能更佳!
  11. COGS 2482. Franky的胡子【二分,高精度】
  12. 在JavaWeb项目中URL中字符串加密解密方案
  13. 回文自动机(PAM) 学习笔记
  14. 如何使用git拉取代码及提交代码(详细)
  15. (PMP)第4章-----项目整合管理
  16. python摸爬滚打之day01----初识Python
  17. java扫描文件夹下面的所有文件(递归与非递归实现)
  18. 一些做vue前端的经验
  19. DFS----Lake Counting (poj 2386)
  20. AD账号解锁

热门文章

  1. 对偶传播神经网络(CPN)
  2. PHP 木马代码,
  3. PHP替代session的方法
  4. 一个栈的入栈序列为ABCDEF,则不可能的出栈序列是
  5. linux语句
  6. 解决idea中maven项目无法读取src/main/java目录下面的配置文件问题
  7. 剑指offer54:字符流中第一个不重复的字符
  8. Acuntetix的安装与使用
  9. WUSTOJ 1324: Base64 Coding(Java)未解决,求题解
  10. C语言的关键字和数据类型