目录

安装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 ]

参数说明:

  1. alias :别名,用来表示当前会话,后续提交请求的时候通过这个名字来提交(必填)
  2. url:服务器的base url,也就是?前的信息(必填)
  3. 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 ]

参数说明:

  1. alias:会话别名,也就是用Create Session关键字创建的(必填)
  2. uri:请求发送的uri(必填)
  3. params:请求参数,字典,列表或文件等
  4. headers:请求头,字典类型
  5. json:请求参数,格式为json
  6. allow_redirects:是否允许重定向
  7. 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 ]

参数说明:

  1. alias:会话别名,也就是用Create Session关键字创建的(必填)
  2. uri:请求发送的uri(必填)
  3. data:字典类型的数据
  4. params:url参数,添加到uri之后的内容
  5. headers:请求头,字典类型
  6. json:请求参数,格式为json
  7. allow_redirects:是否允许重定向
  8. 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进行接口测试(上)相关推荐

  1. 《Reids 设计与实现》第十四章 集群(上)

    <Reids 设计与实现>第十四章 集群(上) 文章目录 <Reids 设计与实现>第十四章 集群(上) 一.简介 二.节点 1.启动节点 2.集群数据结构 3.CLUSTER ...

  2. Reflex WMS入门系列十四:在Reflex系统上创建一个Receipt

    Reflex WMS入门系列十四:在Reflex系统上创建一个Receipt 很多情况下,使用Reflex WMS系统的企业都会使用某个ERP系统,比如SAP,Oracle EBS等,用以支持企业供应 ...

  3. LiveVideoStackCon讲师热身分享 ( 十四 ) —— HEVC标准在客户端上的快速实现方法的研究...

    LiveVideoStackCon 2018音视频技术大会是每年的多媒体技术人的盛宴,为了让参会者与大会讲师更多互动交流,我们推出了LiveVideoStackCon讲师热身分享第一季,在每周四晚19 ...

  4. Robot Framework(十二) javascript基础

    2018-09-06  16:54:21 https://www.imooc.com/learn/36 https://www.imooc.com/code/2312 一.在HTML中插入javasc ...

  5. robot framework 使用四:分层设计和截图以及注意事项

    再说一下眼下的主要环境信息和版本号: 操作系统:win7 64位 python版本号:2.7.6 RIDE版本号:1.2.3 selenium2library:1.5.0 selenium:2.40. ...

  6. 《灵飞经5·龙生九子》第二十四章 九王朝阙 上

    乐之扬一口气走出二十多里,心情稍稍平静了一些,不知为何,一看见叶灵苏的眼神,他就心中刺痛,只想走得越远越好. 自从出了 "周流八极阵",乐之扬脱胎换骨,内息绵长,奔 走巳久,真气不 ...

  7. CENTOS上的网络安全工具(十四)搬到Docker上(2)?

    既然说要搬到Docker上,那么肯定是要把咱日常习惯用的那些东西都往docker上堆一堆看的.我最先考虑的居然是SSH,乃至于到现在我都不知道我为什么第一个想到的是SSH--因为对虚拟机来说,首先考虑 ...

  8. 《人类简史》十四、开启未来(上)——智人的灭亡

    在之前,我们看到了人类的能力不断的增强,主宰了地球上所有物种的我们已经是万物之灵了,我们的强大已经无限的逼近于上帝.不过呢我们距离成为真正的上帝仍然感觉还是有一步之遥.上帝创造了高山流水和无数奇妙.精 ...

  9. 玩转Atlas200DK(十四)玩转摄像头

    十四.在Atlas 200DK上玩转摄像头 200DK有两个摄像头的接口,早在两年前,张小白就在早期CANN版本中试过摄像头: Atlas 200DK系统折腾纪实:(1)论图片及18.04.1的诞生​ ...

  10. cc2530定时器和捕获比较_ALIENTEK 阿波罗 STM32F767 开发板资料连载十四章 输入捕获实验...

    1)实验平台:alientek 阿波罗 STM32F767 开发板2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 http://weixi ...

最新文章

  1. flexi-streams用法简介
  2. 微信小程序项目重构之Redux状态管理
  3. MS Chart 学习心得
  4. linux安装jdk、tomcat
  5. Linux各个版本配置要求
  6. python编写购物程序_Python实现购物程序思路及代码
  7. 国产手机都会用鸿蒙吗,华为鸿蒙系统已经发布,小米等国产手机会使用鸿蒙系统吗?来看看...
  8. android特殊代码,安卓手机输入这些特殊代码,电池状态查得清清楚楚!
  9. Java讲课笔记30:事件处理机制
  10. 计算机建筑材料考试试题,建筑材料试题(建筑材料期中试题及)
  11. 《SaaS架构设计》新书SD会议首发签售
  12. 驱动ST7789 240*240 TFT屏 制作分光棱镜显示要点总结(镜像后图片颜色R、B对调了,使用PS修改图片)
  13. 基于STM32单片机的步数测量系统(免费开源)
  14. 介绍lookup函数十大常用的用法
  15. 嵌入式应用层开发应该学习什么?
  16. Linux命令date日期时间和Unix时间戳互转
  17. 应用python读取IGS站
  18. (超详细)STM32芯片Flash读写操作讲解和代码(寄存器版本)
  19. 福布斯:为什么区块链有利于竞争
  20. ACPI相关(6)- ACPI对USB的管理

热门文章

  1. wps表格在拟合曲线找点_excel拟合曲线函数表达式,excel散点拟合出来的公式看不懂。请问怎么写入表格使用?...
  2. DG导入mysql依赖包_mysql 命令行快速导出数据,导入数据
  3. getch方法_c语言中中getch()函数为什么不起作用?
  4. 【原创】ESXI获取虚拟机的moid,并使用VMRC登录远程虚拟机
  5. vSphere Client报错:VMRC 控制台的连接已断开。正在尝试重新连接
  6. C++ UDP socket编程
  7. c语言erp系统开发,erp系统怎么开发工具
  8. AltiumDesigner06——常见晶振封装尺寸
  9. 怎样在php中制作电子相册,电子相册制作 如何制作电子相册带音乐和文字
  10. 微软服务器离线补丁工具包,自己动手离线集成Windows 7 SP1最新补丁