一、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

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐