Robot Framework(十四):使用RF进行接口测试(上)
目录
安装robotframework-requests
requestsLibrary常用关键字
Create Session:
Get Request
Post Request
To Json:
导入自定义python文件:计算MD5
本篇以及下篇介绍的都是如何使用RF进行REST接口测试,老规矩,先从使用的模块,以及模块中常用的API说起。
安装robotframework-requests
github:https://github.com/bulkan/robotframework-requests/#readme
RF的接口测试库主要有2个:requestsLibrary、requests。注意requests一定要先安装,已安装的话请忽略。
命令:
py -3 -m pip install requests
py -3 -m pip install robotframework-requests
requestsLibrary常用关键字
Create Session:
作用:创建一个session,连接某个服务器
语法:
Name:Create Session
Source:RequestsLibrary <test library>
Arguments:
[ alias | url | headers={}| cookies=None| auth=None| timeout=None| proxies=None| verify=False| debug=debug | max_retries=max_retries | backoff_factor=backoff_factor | disable_warnings=disable_warnings ]
参数说明:
- alias :别名,用来表示当前会话,后续提交请求的时候通过这个名字来提交(必填)
- url:服务器的base url,也就是?前的信息(必填)
- headers:header字段。注意:在调用post request方法的时候,如果headers为空就赋值data为空,即使传递了字典类型,所以如果data存在的时候必须有headers参数,代表数据的格式,有以下4种:
application/x-www-form-urlencoded:表示浏览器的原生 form 表单
application/json:表示使用表单上传文件时(最常用)
multipart/form-data:表示消息主体是序列化后的 JSON 字符串
text/xml:XML格式
4.timeout:设定超时时间
Get Request
作用:通过给定的别名以GET方式发起请求
语法:
Name:Get Request
Source:RequestsLibrary <test library>
Arguments:
[ alias | uri | headers=headers | json=json | params=params | allow_redirects=allow_redirects | timeout=timeout ]
参数说明:
- alias:会话别名,也就是用Create Session关键字创建的(必填)
- uri:请求发送的uri(必填)
- params:请求参数,字典,列表或文件等
- headers:请求头,字典类型
- json:请求参数,格式为json
- allow_redirects:是否允许重定向
- timeout:超时时间
Post Request
作用:通过给定的别名以POST方式发起请求
语法:
Name:Post Request
Source:RequestsLibrary <test library>
Arguments:
[ alias | uri | data=data | json=json | params=params | headers=headers | files=files | allow_redirects=allow_redirects | timeout=timeout ]
参数说明:
- alias:会话别名,也就是用Create Session关键字创建的(必填)
- uri:请求发送的uri(必填)
- data:字典类型的数据
- params:url参数,添加到uri之后的内容
- headers:请求头,字典类型
- json:请求参数,格式为json
- allow_redirects:是否允许重定向
- timeout:超时时间
To Json:
作用:将Python字典和Json格式进行互相转换,本质使用的还是Python中dumps方法(将字典转换为Json),loads方法(将Json转换为字典)
语法:
Name:To Json
Source:RequestsLibrary <test library>
Arguments:[ content | pretty_print=false]
参数说明:
content :字典或json类型的数据
pretty_print:默认是false,表示将Content 从Json转换为字典类型;为true表示将字典类型的content转换为json对象。
示例:
*** Settings ***Library RequestsLibrary*** Test Cases ***Test# 从Json转换为字典类型${j} To Json {"pass":"Authorized access"}log ${j}# 从字典类型转换为Json${d} To Json {"pass":"Authorized access"} pretty_print=truelog ${d}
执行结果:
导入自定义python文件:计算MD5
用户密码下次登录时输入的是密码的MD5值,robot framework自带的库中没有这种关键字,所以我们可以定义在python文件中,然后在test suit文件中通过Settings表导入即可。
md5_encrypt.py:
# -*-coding:utf-8 -*-
from hashlib import md5def md5_encrypt(text):"""md5计算摘要:param text: 传入的是字符串类型:return: 返回hash值"""m = md5()# TypeError: Unicode-objects must be encoded before hashingif isinstance(text, str):text = text.encode()m.update(text)return m.hexdigest()
test suite文件用Library关键字导入即可:
*** Settings ***
Library md5_encrypt.py
下一篇我们用具体的代码说明如何进行测试
Robot Framework(十四):使用RF进行接口测试(上)相关推荐
- 《Reids 设计与实现》第十四章 集群(上)
<Reids 设计与实现>第十四章 集群(上) 文章目录 <Reids 设计与实现>第十四章 集群(上) 一.简介 二.节点 1.启动节点 2.集群数据结构 3.CLUSTER ...
- Reflex WMS入门系列十四:在Reflex系统上创建一个Receipt
Reflex WMS入门系列十四:在Reflex系统上创建一个Receipt 很多情况下,使用Reflex WMS系统的企业都会使用某个ERP系统,比如SAP,Oracle EBS等,用以支持企业供应 ...
- LiveVideoStackCon讲师热身分享 ( 十四 ) —— HEVC标准在客户端上的快速实现方法的研究...
LiveVideoStackCon 2018音视频技术大会是每年的多媒体技术人的盛宴,为了让参会者与大会讲师更多互动交流,我们推出了LiveVideoStackCon讲师热身分享第一季,在每周四晚19 ...
- Robot Framework(十二) javascript基础
2018-09-06 16:54:21 https://www.imooc.com/learn/36 https://www.imooc.com/code/2312 一.在HTML中插入javasc ...
- robot framework 使用四:分层设计和截图以及注意事项
再说一下眼下的主要环境信息和版本号: 操作系统:win7 64位 python版本号:2.7.6 RIDE版本号:1.2.3 selenium2library:1.5.0 selenium:2.40. ...
- 《灵飞经5·龙生九子》第二十四章 九王朝阙 上
乐之扬一口气走出二十多里,心情稍稍平静了一些,不知为何,一看见叶灵苏的眼神,他就心中刺痛,只想走得越远越好. 自从出了 "周流八极阵",乐之扬脱胎换骨,内息绵长,奔 走巳久,真气不 ...
- CENTOS上的网络安全工具(十四)搬到Docker上(2)?
既然说要搬到Docker上,那么肯定是要把咱日常习惯用的那些东西都往docker上堆一堆看的.我最先考虑的居然是SSH,乃至于到现在我都不知道我为什么第一个想到的是SSH--因为对虚拟机来说,首先考虑 ...
- 《人类简史》十四、开启未来(上)——智人的灭亡
在之前,我们看到了人类的能力不断的增强,主宰了地球上所有物种的我们已经是万物之灵了,我们的强大已经无限的逼近于上帝.不过呢我们距离成为真正的上帝仍然感觉还是有一步之遥.上帝创造了高山流水和无数奇妙.精 ...
- 玩转Atlas200DK(十四)玩转摄像头
十四.在Atlas 200DK上玩转摄像头 200DK有两个摄像头的接口,早在两年前,张小白就在早期CANN版本中试过摄像头: Atlas 200DK系统折腾纪实:(1)论图片及18.04.1的诞生 ...
- cc2530定时器和捕获比较_ALIENTEK 阿波罗 STM32F767 开发板资料连载十四章 输入捕获实验...
1)实验平台:alientek 阿波罗 STM32F767 开发板2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 http://weixi ...
最新文章
- flexi-streams用法简介
- 微信小程序项目重构之Redux状态管理
- MS Chart 学习心得
- linux安装jdk、tomcat
- Linux各个版本配置要求
- python编写购物程序_Python实现购物程序思路及代码
- 国产手机都会用鸿蒙吗,华为鸿蒙系统已经发布,小米等国产手机会使用鸿蒙系统吗?来看看...
- android特殊代码,安卓手机输入这些特殊代码,电池状态查得清清楚楚!
- Java讲课笔记30:事件处理机制
- 计算机建筑材料考试试题,建筑材料试题(建筑材料期中试题及)
- 《SaaS架构设计》新书SD会议首发签售
- 驱动ST7789 240*240 TFT屏 制作分光棱镜显示要点总结(镜像后图片颜色R、B对调了,使用PS修改图片)
- 基于STM32单片机的步数测量系统(免费开源)
- 介绍lookup函数十大常用的用法
- 嵌入式应用层开发应该学习什么?
- Linux命令date日期时间和Unix时间戳互转
- 应用python读取IGS站
- (超详细)STM32芯片Flash读写操作讲解和代码(寄存器版本)
- 福布斯:为什么区块链有利于竞争
- ACPI相关(6)- ACPI对USB的管理
热门文章
- wps表格在拟合曲线找点_excel拟合曲线函数表达式,excel散点拟合出来的公式看不懂。请问怎么写入表格使用?...
- DG导入mysql依赖包_mysql 命令行快速导出数据,导入数据
- getch方法_c语言中中getch()函数为什么不起作用?
- 【原创】ESXI获取虚拟机的moid,并使用VMRC登录远程虚拟机
- vSphere Client报错:VMRC 控制台的连接已断开。正在尝试重新连接
- C++ UDP socket编程
- c语言erp系统开发,erp系统怎么开发工具
- AltiumDesigner06——常见晶振封装尺寸
- 怎样在php中制作电子相册,电子相册制作 如何制作电子相册带音乐和文字
- 微软服务器离线补丁工具包,自己动手离线集成Windows 7 SP1最新补丁