使用python实现接口测试
一、Requests库的基本使用:安装:pip install requests -i https://pypi.douban.com/simple官方文档: https://requests.readthedocs.io/zh_CN/latest/用来进行HTTP访问处理的第3方库。基本用法:方法一:requests.request(请求...
一、Requests库的基本使用:
安装:pip install requests -i https://pypi.douban.com/simple
官方文档: https://requests.readthedocs.io/zh_CN/latest/
用来进行HTTP访问处理的第3方库。
基本用法:
方法一:
requests.request(请求方法,请求地址, 协议版本号,请求数据,请求头信息....)
实际接口:requests.request(method,url,**kwargs)
示例:
# get请求,查询所有学院信息
# 定义地址
url = "http://127.0.0.1:8000/api/departments/"
# 调用方法,发送请求
res01 = requests.request("get", url)
print("request方法获取的get响应报文为:", res01.text)
方法二:每种请求方法使用一个函数。
(1)GET方法使用 requests.get(请求地址,协议版本号,请求数据,请求头信息....)
实际接口:requests.get(url,**kwargs)
示例:
# 定义地址
url = "http://127.0.0.1:8000/api/departments/"
# get请求不带参数
# 调用方法,发送请求
res02 = requests.get(url)
print("get请求不带参数返回", res02)
print("get请求不带参数返回的报文文本为:", res02.text)
print("get请求不带参数返回的状态码为:", res02.status_code)
print("get请求不带参数返回的头部字段为:", res02.headers)
# get请求带参数
# 定义参数列表,分析清楚参数名和参数值分别是什么
para03 = {"dep_name": "小狐狸"}
# 发送请求,获取响应,存入一个变量
res03 = requests.get(url, para03)
print("get请求带参数返回的响应报文文本为:", res03.text)
(2)post请求使用示例:
需求:添加一条学院信息
携带消息体数据为纯文本格式示例:
# 定义地址
url = "http://127.0.0.1:8000/api/departments/"
# post请求带消息体数据,方式一:纯文本格式
# 定制请求头,指定消息体格式为json
myheader04 = {"Content-Type": "application/json"}
# 定义消息体数据,纯文本格式
data = '{"data":[{"dep_id":"flower","dep_name":"百花仙子","master_name":"百花园","slogan":"花无百日红"}]}'
# 发送请求,获取响应,存入变量
# 调用encode方法,转换编码格式
res04 = requests.post(url, data.encode("utf-8"), headers=myheader04)
print("post请求带纯文本消息体数据返回的响应报文为:", res04.text)
携带消息体数据为json格式示例:
# 定义地址
url = "http://127.0.0.1:8000/api/departments/"
# post请求带消息体数据,方式二:json格式
# 定义消息体数据,json格式
json01 = \
{
"data":
[
{
"dep_id": "monkey",
"dep_name": "孙悟空",
"master_name": "花果山水帘洞",
"slogan": "知恩不报非君子,万古千秋作骂名。"
}
]
}
# 发送请求,存入变量
res05 = requests.post(url, json=json01)
print("post带json格式消息体数据返回的响应报文为:", res05.text)
二、对响应结果进行处理
获取响应码:
print("响应状态码:",res.status_code)
获取头信息:
print("响应头信息:",res.headers)
获取响应文本:
print("响应数据文本:",res.text)
三、python接口测试框架的设计思路
(1)请求发送与响应获取:requests库
(2)测试用用例管理:unittest
(3)生成测试报告:unittest、其它HTML报告生成工具
(4)测试数据的管理:csv
(5)参数化:DDT
更多推荐
所有评论(0)