视频来源:B站《冒死上传!pytest接口自动化测试框架(基础理论到项目实战及二次开发)教学视频【软件测试】》
一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!
附上汇总贴:pytest接口自动化测试框架 | 汇总_COCOgsta的博客-CSDN博客
Request库简介
Requests是用来发送http请求以及接受http响应的python第三方库,主要用于接口自动化测试。
安装:pip install requests
requests常用的库
requests.get() url是接口地址 params用来传参
requests.post() url是接口地址 data用来传参,json用来传参
Data和Json传参:主要通过Content-Type来区分
Content-Type:作用是服务器要求传入的报文的内容类型
Json:Content-Type:application/json
Data:Content-Type:application-www-form-unlencoded
Content-Type:text/plain
requests.delete()
requests.put()
requests模块返回的response对象详解
res.json()返回的字典格式数据
res.text()返回的字符串格式数据
res.content 返回的是bytes字节类型数据
res.status_code返回状态码
res.reason返回状态信息
res.cookies返回cookie信息
res.headers返回响应头
res.url返回地址
import jsonimport requests# get 地址 params=参数# res = requests.get(url='http://39.98.138.157:5000/api/getweather', params='1')# # 响应数据# print(res.json())# post 地址 data=参数 json=参数# Content-type:application/json# Content-type:url /text/plain# res1 = requests.post(url='http://39.98.138.157:5000/api/login', json={"password": "123456", "username": "admin"})# print(res1.text)url = 'http://39.98.138.157:5000/api/login'data = {"password": "123456", "username": "xxx"}header = {'Content-Type':'application/json'}res = requests.post(url=url, data=json.dumps(data), headers=header)print(res.json())# 参数 json去传输 我就是想用data去传输# json传参 传的是字典# data传参 传的是字符串 直接改为了字符串 怎么改? json.dumps() 字典改为字符串# 字符串改为字典 json.loads()# data默认的类型 表单,需要改一下类型 json传输
运行结果:
C:\Users\guoliang\AppData\Local\Programs\Python\Python36\python.exe D:/SynologyDrive/SourceCode/pytest/apitest/main.py{'adress': {'city': 'changsha'}, 'httpstatus': 200, 'info': {'age': 18, 'name': 'xxx'}, 'msg': 'success', 'token': '23657DGYUSGD126731638712GE18271H'}Process finished with exit code 0