美文网首页
Requests模块详解(一)

Requests模块详解(一)

作者: Aaron_fcff | 来源:发表于2020-07-22 13:53 被阅读0次

一、环境配置

MacOS
Python3.7
requests库(安装方法:pip3 install requests

二、简单使用

import requests  # 导入requests库


r = requests.get('https://wwww.baidu.com')  # 最基本的不带参数的请求
print(r.content)  # 查看返回的信息

查看返回结果时,你会发现部分内容乱码,此时type(r.content)一下你会发现返回的是'bytes'型;只需要解码一下就好了r.content.decode('utf-8')
查看返回结果的还有以下几种形式:

  • r.content:返回的是bytes
  • r.text:返回的是string
  • r.json():返回的是json格式

三、传参数

这里是get请求接口的基本模版--

import requests  # 导入requests库

r = requests.get('https://dict.baidu.com/s',params={'wd':'python'})  # 带参数请求
print(r.content.decode('utf-8'))

这里是post请求接口的基本模版--

import requests  # 导入requests库

r = requests.post('https://dict.baidu.com/s',json={'wd':'python'})  # 带参数请求
print(r.content.decode('utf-8'))

这两者的区别除了请求方法外,还有请求参数时所带的字段params/json

四、接口测试

先抛开请求头部不说,我们做一次简单的接口测试:
1.首先,我们得弄清楚为什么要接口测试?
::主要是一般情况后端开发接口的时间点是在前端前面的,所以这时候测试可以开始介入做接口测试,为后续的前后端联调,或者后面的测试打通通道。
2.如何做接口测试?
::面对大量的接口,你需要做的是先录入好接口信息数据,然后做一次简单的冒烟测试,没有报500或一些奇葩的错误就行了。
3.如何做好接口测试?

  • 必填项和非必填项,这个很好理解
  • 边界值校验,即假如登陆密码只能是6位数字,你就可以输入1位数字、7位数字等等
  • 长度/精度校验,如文本框只能输入小数点后8位的,可以尝试小数点输入后10位的情况
  • 空字符串校验,这个也很好理解,就啥都不传
  • 权限校验,即大部分接口都需要登录后才能进行访问的,尝试去掉请求头部的token去请求;或者用账户A的token去查询账户B的信息看是否可行
  • 安全性测试,对数据安全敏感,需要脱敏、掩码、加密等处理,当然这只是安全性的一小部分
  • 冗余数据检查,对业务熟悉的测试,可以对接口返回结果进行检查,看是否有多余的字段返回
  • 单接口性能测试,如果接口请求时间过长,需要排查接口的拉去数据时是否存在性能上的问题
  • 业务接口测试,即对 组合接口串联测试
  • 压力测试
  • 核对接口的返回结果数据,需要运用到一定的数据库知识,和知道相应的数据在哪个表中...

可以针对上述的带参数请求,进行测试:

r = requests.post('https://dict.baidu.com/s',json={'wd':''})  # 传参中value为空
r = requests.post('https://dict.baidu.com/s')  # 不传任何东西
r = requests.post('https://dict.baidu.com/s',json={'wd':123})  # 传非string型数据
r = requests.post('https://dict.baidu.com/s',json={'wd':'1234567'})  # 假设只能输入6位数字,传7位数字
r = requests.post('https://dict.baidu.com/s',json={'wd':'python'})  # 带参数请求

等,还有很多其他情况。你会在日常工作中遇到并予以运用。

相关文章

网友评论

      本文标题:Requests模块详解(一)

      本文链接:https://www.haomeiwen.com/subject/sktwkktx.html