日志

Robot Framework(4)- 测试套件的基本使用

 来源    2020-05-23    0  

如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!

https://www.cnblogs.com/poloyy/category/1770899.html

前言

  • 因为是基于Pycharm 去写的,所以这里重点讲在Pycharm 写 RF 的语法格式和使用
  • 我们在Pycharm  通过创建 .robot 或者 .txt 文件去写 RF,一个 .robot 文件等于一个测试套件

注意事项

.robot 和 .txt 文件的编码格式必须是 utf8,以确保能够正确的解析 unicode 字符

若非 utf8 可能会在运行用例的时候出现错误,如下图

RF 测试用例的格式

每配置部分个测试用例可以分成两个部分

  1. 主体部分
  2. 配置部分

测试用例的配置部分

 配置项 作用
 [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 执行用例的内部流程

  1. RF 读取测试套件文件( .robot 文件),检查格式
  2. RF 先解析测试用例中的关键字
  3. RF 然后调用测试库对应的关键字
  4. 关键字(即代码)完成具体工作
  5. 真正和被测系统交互的就是测试库中的关键字集

后面我们将介绍常见的基础关键字

相关文章
robotframework – 如果第一个测试用例失败,如何停止Robot Framework测试执行?
问答如下面的机器人文件所示,我有三个测试用例.如果TESTCASE1失败,我想停止测试执行.只有在TESTCASE1通过时才应执行TESTCASE2. *** Settings *** Library p ...
1
Robot Framework - 3 - 测试库API
日志08- 创建测试库--发布测试库 ***** 测试库文档 为了便于维护,测试库文档应该从源代码中生成. Robot  Framework 有自己的文档工具 libdoc.py生成 API 文档. 一个 ...
robot framework 测试/预发/线上环境快捷切换
日志    通常情况下布署的三套环境:测试.预发及线上环境.调试或者辅助验证测试时,切环境改变量甚是麻烦.这些变量包括但不限于:一些url信息,数据库信息,预置用户信息等.    切换环境方法一:使用变量 ...
1
Robot Framework测试框架用例脚本设计方法
日志Robot Framework介绍  Robot Framework是一个通用的关键字驱动自动化测试框架.测试用例以HTML,纯文本或TSV(制表符分隔的一系列值)文件存储.通过测试库中实现的关键字驱 ...
Jenkins上配置Robot Framework测试邮件通知模板
日志邮件效果 测试成功如下所示: jenkins_robot_success 测试失败如下所示: jenkins_robot_failure 通过这个模板,我们能够很直观地看出测试的执行情况,以及相关的统 ...
测试 – 有没有办法让Robot Framework以某种顺序运行测试套件?
问答假设我在本地目录(foo和bar)中有2个测试套件,并且我想按照foo然后bar的顺序运行测试套件. 我试图运行pybot -s foo -s bar,但是它只是去运行,然后运行foo(即按字母顺序) ...
1
robotframework – 是否可以在套件/测试设置中创建新变量 – Robot Framework?
问答是否可以根据关键字的返回值初始化套件或测试设置中的变量?我尝试过这种语法,但它不起作用: *** Settings *** | Suite Setup | ${A variable}= | Set V ...
1
python – Robot Framework调用的测试如何将信息返回给控制台
问答我有一个调用python方法的机器人框架测试套件.我希望该python方法在不失败测试的情况下将消息返回到控制台.具体来说,我正在尝试计划一个过程. 我可以使用"raise"将消息 ...
python-2.7 – 在Robot Framework中自动失败/不执行相互依赖的测试
问答如果说我有100个测试用例在哪个测试用例中没有24,38和99是相互依赖的.那么有可能在第99个测试用例执行时你会发现先前执行的测试用例的状态(比如第24或第38个测试用例)? 在我的情况下,第99个 ...
Robot Framework Selenium:如何避免“陈旧元素”错误(片状测试)?
问答我正在使用Robot Framework和Selenium来测试具有语言选择器的网站.我需要能够选择一种语言,然后验证页面实际上已更改为该语言. 由于在选择新语言后,的lang属性中的值标签更改,我决 ...
1
自动测试 – 如何在使用Robot Framework时从String中修剪或去除空格
问答如何在使用Robot Framework时从String中修剪或去除空格 如果我有一个字符串"你好,你好吗" 如何将其转换为"HelloHowareyou"(剥 ...
1
如何通过Java实现的关键字停止在Robot Framework中执行测试?
问答我有一个用Java实现的关键字,如果关键字失败,我需要用消息停止整个测试执行:"错误:示例消息".::请查看Reporting keyword status下的用户指南: 您可以在 ...
1
自动化测试 – 在Robot Framework中,如何通过为文本文件中的每一行数据创建单独的测试用例来执行数据驱动的测试?
问答在Robot Framework中,我们可以使用Test Template来执行数据驱动的测试.但是,在该方法中,测试用例的数量是固定的.我们无法即时添加新的测试用例. 假设我有一个CSV文本文件da ...
Robot Framework - 4 - 创建和扩展测试库的示例
日志创建和扩展Library的示例 示例:Check status on Linux OS 创建与使用library的基本步骤:           1--- library实现的内容和实现的方式     ...
1
Robot Framework - 2 - 创建测试库
日志04- 创建测试库--基础概念 Robot Framework 实际的测试能力是由测试库提供的. ***** 支持的编程语言 Robot Framework 自身是用 Python 编写的,能使用 P ...
1
Robot Framework - 1 - 测试用例与测试库
日志01- 关于测试库(Test libraries) Test libraries provide the actual testing capabilities to Robot Framework ...
1
Robot Framework - 建立本地测试环境
日志注意:本文内容是以“在Window7系统中安装本地RobotFrmamework自动化测试环境”为例. Robot Framework简介 HomePage:http://robotframework ...
1
Robot Framework自定义测试库的作用域的理解
日志robot framework中,强大的测试库api支持,用户可根据实际需求定义测试库,导入后可使用自定义库中相应的关键字. 当自定义的测试库是类库,则需要考虑一个问题:类实例.用类实现的库可以有内部 ...
1
Robot Framework通过Python SMTP进行email收发测试。
日志工作中需要对发送的邮件进行过滤,方法基本属于ACL控制,即查看“源/目的”邮件地址,邮件标题,邮件正文,邮件附件等进行过滤. 所以需要先模拟一下用Python能否达到邮件Client,Server的功 ...
[Robot Framework] 通过Robot Remote Server调用White Library测试WPF开发的桌面产品
日志参考 : https://github.com/jatalahd/WhiteRobotLibrary 通过此源代码编译WhiteRobotLibrary.dll,然后把高亮标记的这5个dll全部拷贝到 ...