接口测试基础三--python完成接口调用
前面的接口测试基础一文章有讲到,一次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)即可