Robot Framework(4)- 测试套件的基本使用
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!
https://www.cnblogs.com/poloyy/category/1770899.html
前言
- 因为是基于Pycharm 去写的,所以这里重点讲在Pycharm 写 RF 的语法格式和使用
- 我们在Pycharm 通过创建 .robot 或者 .txt 文件去写 RF,一个 .robot 文件等于一个测试套件
注意事项
.robot 和 .txt 文件的编码格式必须是 utf8,以确保能够正确的解析 unicode 字符
若非 utf8 可能会在运行用例的时候出现错误,如下图
RF 测试用例的格式
每配置部分个测试用例可以分成两个部分
- 主体部分
- 配置部分
测试用例的配置部分
配置项 | 作用 |
[Documentation] | 该用例的文字说明,类似 Py 的注释 |
[Tags] | 该用例的标签,可以有多个,记得标签间两个空格哦 |
[Setup] | 该用例的前置操作 |
[Teardown] | 该用例的后置操作 |
[Template] | 声明该用例是模板关键字驱动,本用例只包含测试数据 |
[Timeout] | 设置用例执行的超时时间 |
代码栗子
测试报告
测试用例的主体部分
忽略关键字的作用,后面会详细介绍哦,先熟悉结构
忽略关键字的作用,后面会详细介绍哦,先熟悉结构
忽略关键字的作用,后面会详细介绍哦,先熟悉结构
先来看看,一个栗子再做解析(忽略爆红)
*** Test Cases ***
注意首字母要大写以便插件可以识别,单词空一个空格,建议用自动提示,即敲一个T
用例名称
需要顶格写,如果是中文也不需要加引号
用例主体
- 注意相对于测试用例名字的缩进,至少缩进两个空格,建议直接 tab 键按下去(前提是设置了 tab 键等于四个空格)
- 用例主体由关键字、变量组成,如果关键字需要用到参数,关键字和参数之间至少空两个空格;若有多个参数,参数间也是至少两个空格【因为两个空格是 RF 的分隔符】
- 注释跟在 Python 里面一样哦
简单的栗子
如果上面的栗子太复杂,我们看个简单的
知识点
- log 、 log to console 是关键字
- 打印日志、打印日志到控制台是参数,传给关键字
- 等价于Python里面: log 、 log to console 是调用该方法,后面就是传给函数的参数【 log("打印日志") 】
- 注意:关键字大小写不敏感, log 、 LOG 效果一样
- 对于关键字:是调用的作用
- 对于变量:是赋值 或 调用的作用
关键字的来源
- 测试库
- 资源文件
- 用例所在文件的用户关键字表
RF 执行命令
都在cmd中执行哦
语法格式
robot --options datasource
- datasource:可以是文件也可以是文件夹,都代表用例集所在的数据源
- 文件:rf 用例所在的测试套件文件
- 文件夹:文件夹里面所有包含 rf 用例的文件【包含所有子目录】
小栗子
robot test.robot
robot testcase
运行结果
会在执行命令的当前目录下生成三个文件,主要是查看日志和结果
RF 执行用例的内部流程
- RF 读取测试套件文件( .robot 文件),检查格式
- RF 先解析测试用例中的关键字
- RF 然后调用测试库对应的关键字
- 关键字(即代码)完成具体工作
- 真正和被测系统交互的就是测试库中的关键字集
后面我们将介绍常见的基础关键字
Robot Framework(4)- 测试套件的基本使用的更多相关文章
- Robot Framework自定义测试库的作用域的理解
robot framework中,强大的测试库api支持,用户可根据实际需求定义测试库,导入后可使用自定义库中相应的关键字. 当自定义的测试库是类库,则需要考虑一个问题:类实例.用类实现的库可以有内部 ...
- Robot Framework - 3 - 测试库API
08- 创建测试库--发布测试库 ***** 测试库文档 为了便于维护,测试库文档应该从源代码中生成. Robot Framework 有自己的文档工具 libdoc.py生成 API 文档. 一个 ...
- 使用远程接口库进一步扩展Robot Framework的测试能力
引言: Robot Framework的四层结构已经极大的提高了它的扩展性.我们可以使用它丰富的扩展库来完成大部分测试工作.可是碰到下面两种情况,仅靠四层结构就不好使了: 1.有些复杂的测试可能跨越多 ...
- Robot Framework web测试demo
1.Open RIDE: ride.py 2.New Project: "File" -> "New Project" ,click "OK&q ...
- Maven 整合 robot framework 进行测试
1. 在maven pom.xml中先配置robot framework的plugin: <plugin> <!-- integration test runner (robot-f ...
- Robot Framework(十四) 扩展RobotFramework框架——创建测试库
4.1创建测试库 Robot Framework的实际测试功能由测试库提供.有许多现有的库,其中一些甚至与核心框架捆绑在一起,但仍然经常需要创建新的库.这个任务并不复杂,因为正如本章所示,Robot ...
- Robot Framework操作
Robot Framework 介绍 RobotFramework是一款基于python的开源自动化测试框架,遵守Apache License 2.0协议,在此协议下所有人都可以免费开发和使用.因为R ...
- Robot Framework(十八) 支持工具
5支持工具 5.1库文档工具(libdoc) libdoc是一种用于为HTML和XML格式的测试库和资源文件生成关键字文档的工具.前一种格式适用于人类,后者适用于RIDE和其他工具.Libdoc也没有 ...
- robotframework的学习笔记(十三)------Robot Framework常用库简介
标准库 Robot Framework可以直接导入使用的库,包括: Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 Dialogs:提供了暂停测试执行和从用户的输入方式 ...
- Robot Framework自动化测试的应用
Robot Framework自动化测试的应用(一) 最近尝试用Robot Framework代替之前全部采用python实现测试case,开始对Robot Framework进行些了解学习. 1. ...
随机推荐
- vue2.x学习笔记(二十四)
接着前面的内容:https://www.cnblogs.com/yanggb/p/12663909.html. 插件 插件通常是用来为vue添加全局功能的. 插件的功能范围 插件的功能范围没有严格的限 ...
- 【Linux常见命令】vimdiff命令
在类nuix平台,我们希望对文件之间的差异之间快速定位,希望能够很容易的进行文件合并……. 可以使用Vim提供的diff模式,通常称作vimdiff,就是这样一个能满足所有这些需求,甚至能够提供更多的 ...
- xml文件错误
2019独角兽企业重金招聘Python工程师标准>>> xml文件错误The processing instruction target matching "[xX][mM ...
- 几个加速Swift开发的小tip
又是周五了,周末不要浪,一起学点Swift!本周再次为大家带来了一些Swift的小技巧,都是些奇淫巧计,不知道也无妨,但Swift最吸引我的一点就是它的简洁易用.主要内容有: private(set) ...
- Windows+Ubuntu双系统 ,Ubuntu安装
这篇只是简单记录自己在Win10下另安装Ubuntu系统. 不是教程,因为不会. 推荐一个教程:https://blog.csdn.net/weixin_37029453/article/detail ...
- Nacos作为配置中心时,多个服务共用一个dataId的配置
写在前面 本文是对我之前一篇文章<Spring Cloud+nacos+Feign,实现注册中心及配置中心>的补充.此文章中简单写了如何将Nacos作为配置中心.在使用配置中心时,我们会遇 ...
- swupdate 之 readback handler
背景 使用 swupdate 作为 OTA 方案 ,有项目要求在写入数据到分区之后需要再次读出校验. 初步实现:readout-verify attribute 初步分析有两种方式 方案一 在每一笔数 ...
- 程序猿使用Python的tkinter库进行GUI编程肯定要会的事件处理
事件类型用户通过鼠标.键盘.游戏控制设备在与图形界面交互时,就会触发事件.tkinter事件通常采用了将事件名称放置于尖括号内的字符串表示,尖括号中的内容我们称之为事件类型.事件类型有其通用的定义方式 ...
- 编译原理-第四章 语法分析-4.7 规范的LR分析
规范的LR分析 一.规范LR(l)项 二.规范LR(l)项集族 1.构建项目集 2.例 三.规范LR(1)语法分析表 1.构造 2.例1 3.例2 四.LALR语法分析表 1.重要性 2.特点 3.构 ...
- (Lineup the Dominoes筛子)三维状压
传送门 描述:\(一堆筛子,每个筛子两个面,上面有1-6之间的数字.后一个筛子与前一个筛子的接触面的点数必须相等.\) \(求,有多少种方案堆完筛子.(方案只关心筛子的位置,不关心是否翻转)\) \( ...