Python3+RobotFramewok 快速入门(二)
1. 原理
首先解释一下RF的工作原理,官方文档介绍就不赘述了,笔者就框架架构做出一个更加具体的描述

测试套及测试用例集(Test Data即需要用户编写的脚本)通过RF特定的语法解析,然后知道用户要做什么事,通过RF的API接口调用内置关键字和第三方库(也可以称库关键字),通过Test Libraries再去操作被测系统,收集结果并断言是否符合预期,输出测试报告,这样描述应该比较通俗易懂了,这个框架的可扩展性就在于Test Libraries的开发,只要按照RF框架特定的语法要求完成自定义库的个性开发,就可以完成扩展,用户需要关心和维护就只有Test Data和Test Libraries。
2. 测试用例
先弄明白几个概念:目录,测试套件,测试用例

创建测试用例:New Project -> New Directory -> New Suite -> New Test Case
这里还有特殊的文件Resource,该文件一般是robot或者txt格式的文件,用于编写用户自定义关键字,使用时需要在测试套件里面导入。
3. 关键字
RF关键字包括内置关键字、库关键字、用户关键字。
(1)内置关键字:不需要import,如:BuiltIn,下面总结常用的内置关键字

(2)库关键字:需要import,在测试套件或者Resource文件编辑菜单,点击Library或者Resource,如:RequestsLibrary,Selenium2Library

(3)用户关键字:需要import,导入用户自定义编写关键字Resource文件

4. 变量
变量包括Scalar,List,Dict,可以选择在测试套件或者Resource文件编辑菜单下面添加,也可以在用例使用关键字创建Set Global Variable/Set Variable。
Scalar:一般的全局变量可以用这个,格式${}
List:列表变量,格式@{}
Dict:字典变量,格式&{}
5. Setup和Teardown
Setup:包括测试套级别和测试用例级别,意思是在执行测试套件之前或者执行测试用例之前执行,一般用于前置条件
Teardown:包括测试套级别和测试用例级别,意思是在执行测试套件之后或者执行测试用例之后执行,一般用于执行完用例或者测试套件之后清理测试环境
执行顺序:Suite Setup -> Test Setup -> Test Case -> Test Teardown -> Suite Teardown
6. 标签
标签包括Force Tags和Default Tags,在选择执行用例的时候,标签很实用。
Force Tags:该测试套件下所有测试用例全部打上force tags
Default Tags:该测试套件下测试用例没有打标签的用例默认打上Default Tags
7. 快捷键

Python3+RobotFramewok 快速入门(二)的更多相关文章
- python3.5+django2.0快速入门(二)
昨天写了python3.5+django2.0快速入门(一)今天将讲解配置数据库,创建模型,还有admin的后台管理. 配置数据库 我们打开mysite/mysite/settings.py这个文件. ...
- Linux Bash Shell快速入门 (二)
BASH 中的变量介绍BASH 中的变量都是不能含有保留字,不能含有 "-" 等保留字符,也不能含有空格. 简单变量在 BASH 中变量定义是不需要的,没有 "int i ...
- Mysql快速入门(二)
多表关联查询 JOIN 按照功能大致分为如下三类: CROSS JOIN(交叉连接) INNER JOIN(内连接或等值连接). OUTER JOIN(外连接) 交叉连接 交叉连接的关键字:CROSS ...
- Ant快速入门(二)-----使用Ant工具
使用Ant非常简单,当正确安装Ant后,只要输入ant或ant.bat即可. 如果运行ant命令时没有指定任何参数,Ant会在当前目录下搜索build.xml文件.如果找到了就以该文件作为生成文件,并 ...
- mybatis快速入门(二)
这次接着上次写增删改查吧. 现将上节的方法改造一下,改造测试类. package cn.my.test; import java.io.IOException; import java.io.Inpu ...
- python3爬虫-快速入门-爬取图片和标题
直接上代码,先来个爬取豆瓣图片的,大致思路就是发送请求-得到响应数据-储存数据,原理的话可以先看看这个 https://www.cnblogs.com/sss4/p/7809821.html impo ...
- jquery 快速入门二
---恢复内容开始--- 操作标签 样式操作 样式类 addClass();//添加指定的CSS类名. removeClass();//移除指定的类名. hasClass();//判断样式不存在 to ...
- Solr.NET快速入门(二)
字典映射和动态字段 Solr dynamicFields可以根据用例不同地映射. 它们可以被"静态地"映射,例如,给定: <dynamicField name="p ...
- Dubbo快速入门 二
2.dubbo核心概念 2.1).简介 Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能.轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调 ...
随机推荐
- Centos7安装dig命令
作者: jwj 时间: 2018-10-17 分类: 服务器 最近做一个项目,需要用到Gmail邮箱发送邮件,但发现发送不出去.排查问题时,需要用到dig命令,但使用时,却提醒我dig命令不存在~那就 ...
- python基础:数据类型二
一.元组类型 二.字典类型 三.集合 一.元组类型 # 什么是元组: 元组就是一个不可变的列表 # ======================================基本使用======== ...
- ConcurrentDictionary源码概读
ConcurrentDictionary的数据结构主要由Tables和Node组成,其中Tables包括桶(Node,节点)数组.局部锁(Local lock).每个锁保护的元素数量(PerLock) ...
- Ubuntu系统---FeiQ安装记录
Ubuntu系统---FeiQ安装记录 linux下安装飞秋/飞鸽传书之类的软件iptux信使,可以与windows在一个局域网下聊天与传书文件,安装很简单. 首先,直接运行下面的语句即可:sudo ...
- jsp下拉列表
<c:set var="REPORT_TYPE_NORMAL" value="<%=SysIndexFormTemp.REPORT_TYPE_NORMAL%& ...
- Python3+Appium学习笔记04-自动下载apk
在项目中,app更新后,都会发布新的apk版本,然后去蒲公英对应的网站上扫码下载对应的apk进行测试.所以就在想,通过app参数进行安装时,是否可以先通过代码去拉取一遍最新的apk安装包. 因为学 ...
- python pip 'nonetype' object has no attribute 'bytes'
python pip 'nonetype' object has no attribute 'bytes' 更新 pip for Windows : python -m pip install -U ...
- CF487E Tourists[圆方树+树剖(线段树套set)]
做这题的时候有点怂..基本已经想到正解了..结果感觉做法有点假,还是看了正解题解.. 首先提到简单路径上经过的点,就想到了一个关于点双的结论:两点间简单路径上所有可能经过的点的并等于路径上所有点所在点 ...
- quartz (从原理到应用)详解篇(转)
一.Quartz 基本介绍 1.1 Quartz 概述 1.2 Quartz特点 1.3 Quartz 集群配置 二.Quartz 原理及流程 2.1 quartz基本原理 2.2 quartz启动流 ...
- TypeError: Object of type 'ListSerializer' is not JSON serializable
问题: 解决:ser.data是json数据,你想要的