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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 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 可能会在运行用例的时候出现错误,如下图

image.png


RF 测试用例的格式


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

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


测试用例的配置部分

 配置项 作用
 [Documentation] 该用例的文字说明,类似 Py 的注释
[Tags] 该用例的标签,可以有多个,记得标签间两个空格哦
[Setup] 该用例的前置操作
[Teardown] 该用例的后置操作
[Template] 声明该用例是模板关键字驱动,本用例只包含测试数据
[Timeout] 设置用例执行的超时时间


代码栗子

image.png


测试报告

image.png


测试用例的主体部分

忽略关键字的作用,后面会详细介绍哦,先熟悉结构

忽略关键字的作用,后面会详细介绍哦,先熟悉结构

忽略关键字的作用,后面会详细介绍哦,先熟悉结构

 

先来看看,一个栗子再做解析(忽略爆红)

image.png


*** Test Cases ***

注意首字母要大写以便插件可以识别,单词空一个空格,建议用自动提示,即敲一个T

用例名称

需要顶格写,如果是中文也不需要加引号

用例主体

  • 注意相对于测试用例名字的缩进,至少缩进两个空格,建议直接 tab 键按下去(前提是设置了 tab 键等于四个空格)
  • 用例主体由关键字、变量组成,如果关键字需要用到参数,关键字和参数之间至少空两个空格;若有多个参数,参数间也是至少两个空格【因为两个空格是 RF 的分隔符】
  • 注释跟在 Python 里面一样哦

简单的栗子

如果上面的栗子太复杂,我们看个简单的

image.png

知识点

  • loglog to console 是关键字
  • 打印日志、打印日志到控制台是参数,传给关键字
  • 等价于Python里面:loglog to console 是调用该方法,后面就是传给函数的参数【 log("打印日志") 】
  • 注意:关键字大小写不敏感, logLOG 效果一样
  • 对于关键字:是调用的作用
  • 对于变量:是赋值 或 调用的作用

关键字的来源

  • 测试库
  • 资源文件
  • 用例所在文件的用户关键字表

 

RF 执行命令


都在cmd中执行哦

语法格式

robot --options  datasource

  • datasource:可以是文件也可以是文件夹,都代表用例集所在的数据源
  • 文件:rf 用例所在的测试套件文件
  • 文件夹:文件夹里面所有包含 rf 用例的文件【包含所有子目录】

小栗子

robot test.robot

robot testcase

运行结果

会在执行命令的当前目录下生成三个文件,主要是查看日志和结果

image.png


RF 执行用例的内部流程


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

 

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

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
|
机器人 测试技术 Python
作为测试人员,RobotFramework框架真的是必须掌握的吗?
本文探讨了Robot Framework(RF)作为自动化测试框架的重要性,指出虽然RF具有易用性和灵活性,但并非测试人员必须掌握的工具,因为存在许多可替代的自动化测试解决方案。
58 0
作为测试人员,RobotFramework框架真的是必须掌握的吗?
|
5月前
|
Java 测试技术
Java一分钟之-JUnit测试框架:断言与测试套件
【6月更文挑战第3天】本文介绍了JUnit在Java单元测试中的应用,包括断言基础如`assertEquals`、`assertTrue`等,用于验证代码预期结果;利用`@Suite`创建测试套件以组合多个测试;并讨论了常见问题及解决方法,如忽略测试、错误断言、异常处理和保持测试简洁。理解并熟练运用这些概念能提升测试代码的质量和效率。
95 2
|
6月前
|
JSON 自然语言处理 机器人
接口自动化测试教程:如何使用 Robot Framework
Robot Framework 是一个用于实现自动化测试和机器人流程自动化(RPA)的开放源代码框架。它由一个名为 Robot Framework Foundation 的组织得到推广,得到了多家领军企业在软件开发中的广泛应用。框架以其开放性和灵活性为特点,能够无缝整合各种其他工具,无论团队规模大小,均无需承担额外许可成本。
|
Java C++ Spring
Spring Boot - 用JUnit 5构建完美的Spring Boot测试套件
Spring Boot - 用JUnit 5构建完美的Spring Boot测试套件
134 0
|
数据可视化 机器人 测试技术
自动化测试 RobotFramework安装以及使用教程
自动化测试 RobotFramework安装以及使用教程
|
JavaScript 前端开发 机器人
「RPA 」UiPath和Selenium,谁是测试套件?
「RPA 」UiPath和Selenium,谁是测试套件?
|
测试技术
Sonic 开源移动端云真机测试平台 - 用例编写与回放流程实例演示,任务定时执行、图像相似度定位、公共步骤、公共参数、测试套件等(下)
Sonic 开源移动端云真机测试平台 - 用例编写与回放流程实例演示,任务定时执行、图像相似度定位、公共步骤、公共参数、测试套件等(下)
330 0
|
测试技术 数据安全/隐私保护
Sonic 开源移动端云真机测试平台 - 用例编写与回放流程实例演示,任务定时执行、图像相似度定位、公共步骤、公共参数、测试套件等(上)
Sonic 开源移动端云真机测试平台 - 用例编写与回放流程实例演示,任务定时执行、图像相似度定位、公共步骤、公共参数、测试套件等
969 0
|
前端开发 JavaScript 中间件
前端测试套件构建实践
为了提升前端的开发效率,同时也为了减少前端编写单元测试代码的繁琐工作,testus测试套件旨在为前端测试开发工作提供便利,本文旨在介绍testus的一些设计理念及实现方案,希望能给前端基础建设中有关于测试构建相关工作的同学提供一些帮助和思路。
59 0
|
测试技术
unittest使用parameterized参数化后如何调用添加到测试套件中
unittest使用parameterized参数化后如何调用添加到测试套件中
153 0
unittest使用parameterized参数化后如何调用添加到测试套件中