如果你还想从头学起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. 真正和被测系统交互的就是测试库中的关键字集

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

Robot Framework(4)- 测试套件的基本使用的更多相关文章

  1. Robot Framework自定义测试库的作用域的理解

    robot framework中,强大的测试库api支持,用户可根据实际需求定义测试库,导入后可使用自定义库中相应的关键字. 当自定义的测试库是类库,则需要考虑一个问题:类实例.用类实现的库可以有内部 ...

  2. Robot Framework - 3 - 测试库API

    08- 创建测试库--发布测试库 ***** 测试库文档 为了便于维护,测试库文档应该从源代码中生成. Robot  Framework 有自己的文档工具 libdoc.py生成 API 文档. 一个 ...

  3. 使用远程接口库进一步扩展Robot Framework的测试能力

    引言: Robot Framework的四层结构已经极大的提高了它的扩展性.我们可以使用它丰富的扩展库来完成大部分测试工作.可是碰到下面两种情况,仅靠四层结构就不好使了: 1.有些复杂的测试可能跨越多 ...

  4. Robot Framework web测试demo

    1.Open RIDE: ride.py 2.New Project: "File" -> "New Project" ,click "OK&q ...

  5. Maven 整合 robot framework 进行测试

    1. 在maven pom.xml中先配置robot framework的plugin: <plugin> <!-- integration test runner (robot-f ...

  6. Robot Framework(十四) 扩展RobotFramework框架——创建测试库

    4.1创建测试库 Robot Framework的实际测试功能由测试库提供.有许多现有的库,其中一些甚至与核心框架捆绑在一起,但仍然经常需要创建新的库.这个任务并不复杂,因为正如本章所示,Robot ...

  7. Robot Framework操作

    Robot Framework 介绍 RobotFramework是一款基于python的开源自动化测试框架,遵守Apache License 2.0协议,在此协议下所有人都可以免费开发和使用.因为R ...

  8. Robot Framework(十八) 支持工具

    5支持工具 5.1库文档工具(libdoc) libdoc是一种用于为HTML和XML格式的测试库和资源文件生成关键字文档的工具.前一种格式适用于人类,后者适用于RIDE和其他工具.Libdoc也没有 ...

  9. robotframework的学习笔记(十三)------Robot Framework常用库简介

    标准库 Robot Framework可以直接导入使用的库,包括: Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 Dialogs:提供了暂停测试执行和从用户的输入方式 ...

  10. Robot Framework自动化测试的应用

    Robot Framework自动化测试的应用(一) 最近尝试用Robot Framework代替之前全部采用python实现测试case,开始对Robot Framework进行些了解学习. 1. ...

随机推荐

  1. 深拷贝、浅拷贝与Cloneable接口

    深拷贝与浅拷贝 浅拷贝 public class Student implements Cloneable{ Integer a; Integer b; @Override protected Obj ...

  2. 【Linux常见命令】uname命令

    uname命令用于显示系统信息. uname可显示电脑以及操作系统的相关信息. 语法 uname [-amnrsv][--help][--version] 参数说明: -a或--all 显示全部的信息 ...

  3. SaltStack的数据系统

    一.SaltStack数据系统的分类 1.Grains(收集的是静态数据) 官方使用文档:https://www.unixhot.com/docs/saltstack/topics/targeting ...

  4. MyBaties一级缓存

    2019独角兽企业重金招聘Python工程师标准>>> 一.一级缓存简介 在系统代码的运行中,我们可能会在一个数据库会话中,执行多次查询条件完全相同的Sql,鉴于日常应用的大部分场景 ...

  5. WordPress发布文章/页面时自动添加默认的自定义字段

    如果你每篇文章或页面都需要插入同一个自定义字段和值,可以考虑在WordPress发布文章/页面时,自动添加默认的自定义字段.将下面的代码添加到当前主题的 functions.php 即可: 1 2 3 ...

  6. 学数据库你竟然不用用JAVA写代码,可惜你遇到了我! JAVA连接数据库(JDBC)的安装使用教程

    Step 1 你得有Eclipse 没有出门右拐,我教不了你. Step 2 你得有Mysql MySQL的详细安装过程,我在另一篇博客中给出.戳我 Step 3 安装JDBC 可以去官网下,如果用的 ...

  7. 基于UDP的客户端和服务器端的代码设计

    实验平台 linux 实验内容 编写UDP服务器和客户端程序,客户端发送消息,服务器接收消息,并打印客户端的IP地址和端口号. 实验原理 UDP是无需连接的通信,其主要实现过程如下: 同样,我们可以按 ...

  8. HTML(表格标签)

    <table> 标签 表格由 <table> 标签来定义.每个表格均有若干行(由 <tr> 标签定义),每行被分割为若干单元格(由 <td> 标签定义) ...

  9. 蓝色展开收缩悬浮QQ客服代码

    放在我的博客首页上的的预览图: 在文章区的预览图如下: 代码如下: <div class="scrollsidebar" id="scrollsidebar&quo ...

  10. tomcat8调优

    a. tomcat的运行原理: 1. Tomcat是运行在JVM中的一个进程.它定义为[中间件],顾名思义,是一个在Java项目与JVM之间的中间容器. 2. Web项目的本质,是一大堆的资源文件和方 ...