使用Requests库实现api接口测试(Python)(一)
2021-05-05 04:30
标签:nbsp latest get请求 其他 创建 文档 auth cookie header 构建HTTP请求消息,并且解析收到的HTTP响应消息,根据业务场景来判断是否符合预期。 用来做收发http请求。 Requests中文官网:https://2.python-requests.org/zh_CN/latest/ 2.2.1 构建请求头 2.2.2 构建请求消息体 1)指定代理+get请求 2)post请求,消息体格式可以是xml、json、urlencoded、自定义 A. urlencoded格式 B. json格式 1)检查http响应状态码:r.status_code 2)检查响应消息头:r.headers、r.headers[‘Content-Type‘] 3)检查响应消息体:r.text 1)pprint采用分行打印输出(import pprint) 2)r=requests.get("https://www.baidu.com") r.content #获取字节串的内容 r.content.decode(‘utf8‘) #将获取的字节串内容,以utf8编码,解码成字符串 3)若服务端没有在headers里指定编码格式,需要自己指定编码格式 r.encoding=‘utf8‘ r.text 4)json.dumps() #将python中的对象序列为json格式的字符串 json.loads() #将json格式的字符串反序列化为python中的对象 5)obi=r.json() == obi=json.loads(r.content.decode(‘utf8‘)) 用户使用客户端登录,服务端进行验证;验证通过后,服务端系统生成此时登录的一个seesion;session是一个数据结果,保存客户端用户登录的相关信息;同时创建一个唯一sessionid,标志这个session;服务端通过http响应headers的Set-Cookie下发sessionid;客户端在后续请求headers的Cookie中带上这个seesionid,服务端通过sessionid找到对应的session。 requests库提供了Session类。会自动存储sessionid,并且在后续的请求中带上sessionid。 使用Requests库实现api接口测试(Python)(一) 标签:nbsp latest get请求 其他 创建 文档 auth cookie header 原文地址:https://www.cnblogs.com/lucylu/p/13193348.html1 目的
2 Requests库
2.1 构建请求
headers = { ‘user-agent‘: ‘my-app/0.0.1‘, ‘auth-type‘: ‘jwt-token‘ }
r = requests.post("http://httpbin.org/post", headers=headers)paras={
‘key1‘:‘value1‘,
‘key2‘:‘value2‘
} proxies={
‘http‘:‘http://127.0.0.1:8888‘,
‘https‘:‘http://127.0.0.1:8888‘
}
r=requests.get(‘url‘,proxies=proxies,params=paras)payload = {‘key1‘: ‘value1‘, ‘key2‘: ‘value2‘}
r = requests.post("http://httpbin.org/post", data=payload)
payload = ‘‘‘{
"form": {
"key1": [
"value1",
"value2"
]
}
}‘‘‘ #json格式里一定是双引号
r = requests.post("http://httpbin.org/post", data=payload.encode(‘utf8‘))
---------------------------------------------------------------------------
import json #使用python中的数据对象,单、双引号都可以payload = { ...
"form": {
"key1": [
"value1",
"value2"
]
},
...
}
r = requests.post("http://httpbin.org/post",json=payload) #使用json,底层使用jsondump将python对象变成字符串
2.2 HTTP响应检查
2.3 其他
3. session机制
3.1 区别用户的机制
3.2 requests处理session-cookie
# 创建Session对象
session = requests.Session()
# 通过Session对象发送请求
response = session.post(‘url‘,datd={
‘username‘:‘xx‘,
‘password‘:‘xxxx‘
})
print(response)
response = session.get(‘url‘,params={
‘‘:‘‘,
‘‘:‘‘
})
参考文档:http://www.python3.vip
上一篇:python更新pip报错pip._vendor.urllib3.exceptions.ProxySchemeUnknown: Not supported proxy scheme None
下一篇:C语言宝典(持续更新)
文章标题:使用Requests库实现api接口测试(Python)(一)
文章链接:http://soscw.com/index.php/essay/82582.html