一.requests用来发送http请求以及接收http响应的python第三方库,主要用于接口自动化测试
pip install request
二.requests库常用的方法
1.requests.get(url,params) url是接口地址,params用于传参
request.post(url,data/json) url是接口地址,data和json用于传参
用data还是json,主要是通过请求头的Content-Type来区别。
2.Content-Type:作用是服务器要求传入的报文的内容类型
3.请求包括:请求方式,请求路径,请求头,请求正文
4.Postman四种传参方式对应的Content-Type值如下
- form-data(可传文件)-->Content-Type:multipart/form-data
- x-www-from-urlencoded-->Content-Type:application/x-www-from-urlencoded
- raw:
text-->Content-Type:text/plain
javascript-->Content-Type:application/javascript
json-->Content-Type:application/json
html-->Content-Type:text/html
xml--> Content-Type:application/xml
- binary--> Content-Type:application/binary
5.data可以传纯键值对的dict(不含嵌套的字典),也可以传str格式(如果是嵌套字典那么就需要使用json.dumps(dict)把嵌套字典转化成json字符串格式)
json可以传任何形式的dict(包含嵌套的dict)
json.loads() :把json字符串转化成dict格式
json.dumps(): 把dict格式转化成json字符串
6.requests.request()方法可以发送所有类型的请求,包括get,post,put,delete请求,requests.request方法的参数介绍如下
method 请求方式
url 请求路径
params=None get方式传参
data=None post方式传参
json=None post方式传参
headers=None 请求头
cookies=None 请求cookie
files=None 文件上传
四.requests模块返回的response对象详解
res=requests.get(url,params)
res.json() 获得返回的字典格式的数据
res.text 获得返回的字符串格式的数据
res.content 获得返回的二进制格式的数据
res.status_code 返回状态码
res.reason 返回状态信息
res.cookies 返回cookie信息
res.headers 返回响应头
五.请求必须带请求头的接口,以及需要cookie鉴权和session鉴权的接口
90%以上的基于web接口都有cookie鉴权
接口自动化中解决鉴权的两种方式:
1.使用cookie关联
2.使用session关联
六,接口自动化框架之yaml数据驱动封装
七.接口自动化框架封装之allure报告的生成和定制
1.下载allure解压,把allure的bin目录配置系统path变量
通过allure --version查看是否能看到版本
2在pytest.ini文件进行如下配置
adopts = -vs --alluredir ./temp --clean--allure(在当前的temp文件生成json数据)
3.根据临时的json文件的报告生成html的allure报告
版权归原作者 A_6701998890 所有, 如有侵权,请联系我们删除。