前面的接口测试基础一文章有讲到, 一次 http 接口调用, 包含了 httprequest(http 请求) 和 httpresponse(http 响应) 两部分, 要想做好接口测试, 就需要对这两部分内容进行学习, 再简单介绍下:
一, http request 剖析
请求方法: 即 http 请求的提交方式, 一般以 get 和 post 居多
URI: 请求自愿的表示, 可以理解为一个请求的路径信息
协议: http 协议
版本: 1.1
请求正文: 请求参数
请求头: 告诉服务器关于客户端环境和请求正文相关的一些信息, 例如浏览器版本, 请求参数的长度.
请求头包含: user-agent: 告诉浏览器客户端的相关信息; refer: 告诉服务器次请求是从哪个页面上发出来的额 x-requested-with: 高速服务器这个是一个 Ajax 请求 cookie: 带给服务器的 cookie 信息.
请求头可以在代码中指定, 添加, 通过键值对的形式, 调用: addheader(请求头参数键值对)
二, http response 剖析
响应状态码: 标记响应状态的标识, 例如: 200 - 成功, 404 资源找不到, 500 服务器异常, 302 重定向
响应头信息: 告诉客户端关于服务器环境和请求正文相关的一些信息, 例如服务器类型, 响应报文格式.
响应报文: 针对请求从服务器相应回来的数据, 比如 html,xml,JSON 等
响应头包含: server: 告诉客户端服务器的环境, 如 Apache set-cookie: 告诉浏览器需要缓存的 cookie 数据. location: 告诉浏览器跳到哪里 content-type: 告诉浏览器返回的数据类型和编码
三, python request 完成接口请求
1.request 安装
安装好 python 环境后, 在 cmd 直接输入: pip install requests 就可以安装成功
2.request 之 get 请求, 如下所示:
2.1 发送带参数的请求
import requests
url = 要访问的地址
param={参数以键值对传入}
- res=requests.get(url,param)
- print("请求结果是:",res.JSON())
2.2 发送带 cookie 的请求
import requests
url_1 = 要访问的地址
param_1={参数以键值对传入}
- res_1=requests.get(url,param)
- print("请求结果是:",res_1.JSON())
url_2 = 要访问的地址
param_2={参数以键值对传入}
- res_2=requests.get(url_2,param_2,cookies=res_1.cookies)
- print("请求结果是:",res_2.JSON())
2.3 发送带定制头的请求
import requests
url_1 = 要访问的地址
param_1={参数以键值对传入}
- headers_1={
- "user-agent":"Mozilla/5.0"
- }
- res_1=requests.get(url,param=param_1,headers=headers_1)
- print("请求结果是:",res_1.JSON())
- print("请求头是:",res_1.headers)
请求方式为 post 时, 发送请求 res=requests.post(url,params,headers) 即可
来源: http://www.bubuko.com/infodetail-2928112.html