python接口自动化测试二:python代码实现接口测试

Posted 向前走。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python接口自动化测试二:python代码实现接口测试相关的知识,希望对你有一定的参考价值。

 

requests官方文档:https://requests.readthedocs.io/zh_CN/latest/

 

requests发送请求的方式和支持的请求:

 

一、发送请求

1:简单示例

发送一个get请求(post、put···其他方法发送方式一样),返回response对象

由源码可看出,查询字符串参数给一个字典,传给params参数

import requests

url = \'http://127.0.0.1:8080/test\'
query_str = {\'username\': \'aaa\'}
response = requests.get(url=url, params=query_str)
print(response.json()) # 响应体从json转为python对象(字典)

 

2.requests.request方法

由以上方法可以看出调requests.get、requests.post···其实都是调的requests.request方法,只不过是穿进去的请求方法

常用的一些参数:

  method: 请求方法,字符串格式的get、post、put、delete···
  url: 字符串格式的 host + 接口地址 + 以?开头,&分隔的url参数


  headers:头部信息,字典格式
  cookies:请求时要携带的cookie,字典格式


  data:form-data参数,字典格式,request自动处理请求头的content-type
  json:json参数,字典格式,request自动处理请求头的content-type
  files:文件流,字典格式,request自动处理请求头的content-type


  timeout:请求超时时间,秒
  allow_redirects:是否允许重定向,True为允许,默认为True
  proxies:发送请求时,使用的代理
  verify:是否校验证书,True为要校验,默认为True,发送HTTPS请求时,设置为False即可

 

使用示例:请求中需要什么参数刘加什么参数即可

 

二:响应对象

发送请求后接口会返回一个响应对象,和请求对象一样,也拥有头部信息、主体信息、url····

1.requests提供的响应对象的属性

  .ok # 请求是否成功
  .encoding # 返回的编码格式
  .status_code # 打印状态码,若有重定向,返回的是重定向之后的代码
  .request # 请求方法
  .url # 如果没有重定向,就是请求的url,如果有重定向,就是重定向后的url
  .history # 此次请求经历的重定向的url


  .headers # 以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None
  .cookies # 获取cookie

  .raw #原始响应体
  .text # 响应体转为文本
  .content # 字节方式的响应体,会自动解码 gzip 和 deflate 压缩

  .elapsed # 接口响应时间对象

由于.elapsed是datetime对象,所以可以使用各种单位的取值

 

2.requests提供的处理响应对象的方法

  .raise_for_status() #失败请求(非2开头、非3开头)抛出异常
  .json() # Requests中内置的JSON解码器 ,把响应体的json转成python的字典

 

三:保持会话

当有多个请求,都需要同样的身份校验(cookie)的时候,可以先声明session,并且在此session中设置头部信息,后面的请求都是用这个session即可

requests.request的实现其实也是使用的requests.session

使用示例

 

以上是关于python接口自动化测试二:python代码实现接口测试的主要内容,如果未能解决你的问题,请参考以下文章

用Python实现接口自动化测试并保存测试结果

Python+requests+unittest+excel实现接口自动化测试框架

Python+requests+unittest+excel实现接口自动化测试框架

用Python实现接口自动化测试并保存测试结果

用Python实现接口自动化测试并保存测试结果

python接口自动化测试二十:函数写接口测试