requests主要的用法:
- 发送get,post请求
- 定义请求头
- 参数url,form-data,json
- 响应,content,text,json
- 怎么处理token,session
- 封装通用的请求接口的函数
jmeter,postman可以用来访问接口,requests也是用来访问接口,作用是相同的,都是http客户端。
requests是第三方库,需要安装:pip install requests
学习requests之前,先来简单了解下flask创建接口(pip install flask),不需要掌握。
1.了解内容
1.1 使用flask进行接口创建
url和某个函数的绑定关系,当访问一个url时,会调用函数,函数的返回值会返回到前端。
# flask 是python开发 pip install flask
from flask import Flask
# 服务
app = Flask(__name__)
# url调用的函数
def login():
return 'login success'
def home():
return {"msg": 0, "data": "welcome"}
def other():
return """\
用户名:<input>
密码:<input type='password'>"""
# 添加url
app.add_url_rule('/login', view_func=login)
app.add_url_rule('/', view_func=home)
app.add_url_rule('/other', view_func=other)
app.run()
运行接口:
注意:访问接口前需要先运行。
1.2 使用requests访问接口
postman/jmeter/requests/soupui/浏览器:访问接口
只是一个http客户端。
# pip install requests
import requests
# 发送一个get请求
response = requests.get('http://127.0.0.1:5000/')
# 获取响应体
print(response.text) # 字符串
print(response.content) # bytes 字节
print(response.json()) # 字典
运行结果:
2.requests用法
2.1 设置请求方法
import requests
# get
resp = requests.get('http://httpbin.org/get')
print('get', resp)
# post
resp = requests.post('http://httpbin.org/get')
print('post', resp)
# put
resp = requests.put('http://httpbin.org/get')
print('put', resp)
# delete
resp = requests.delete('http://httpbin.org/get')
print('delete', resp)
运行结果:
结论:
因为访问的接口只允许get请求,其他请求被禁止,所以使用其他方法请求时返回405 具体来说,一个接口是否支持某种请求,由开发决定 requests 支持很多的请求方法,可以查看源码
在一个自动化测试当中,通常我们会将测试数据放在一个excel文件中,如果现在一个接口的测试数据是这样的,包含用例编号,url,请求方法,其他,如:(1,'url&#