python的哪个模块可以做接口测试

 我来答
龙氏风采
2017-01-01 · 知道合伙人互联网行家
龙氏风采
知道合伙人互联网行家
采纳数:5849 获赞数:12817
从事互联网运营推广,5年以上互联网运营推广经验,丰富的实战经

向TA提问 私信TA
展开全部
  python接口测试
  1.安装python环境
  2.下载python IDE(pyCharm)
  备注:
  requests是python的要给HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而部用urllib2呢?官方文档中是这样说的:
  python的标准库urllib2提供了大部分需要的HTTP功能,但API太逆天了,一个简单的功能需要一大堆代码。而requests比较简洁,能用更少的代码实现。
  3.下载 安装 requests第三方模块
  下面就进行接口测试
  要使用 requests 首先需要在文件中引用
  [python] view plain
  import requests
  [python] view plain
  # 解析json需要
  [python] view plain
  import json
  [python] view plain
  # url:接口地址
  [python] view plain
  # data: 接口需要的数据
  [python] view plain
  # headers:接口需要的传递的headers数据
  [python] view plain
  # files:若是接口中需要上传文件则需要用到该参数
  [python] view plain
  r = requests.post(url, data=data, headers=headers)
  [python] view plain
  r = requests.post(url, data=data, headers=headers, files=files)
  [python] view plain
  # 获取 接口返回的数据信息并解析(如果返回的是json格式的话)
  [python] view plain
  json_data = json.loads(r.text)
  [python] view plain
  我一直用这样的方法写了20个接口进行测试,突然发现好像代码有很多重复的呀,是不是可以把重复的内容进行封装一下了?
  [python] view plain
  封装如下:
  [python] view plain
  Basics_Requests.py
  [python] view plain
  import requests
  import json
  '''''
  #xx_url:接口连接url
  #data:接口data需要传递的数据(数据格式一般为Dictionary)
  #headers:接口headers需要传递的数据(数据格式一般为Dictionary)
  #variable:headers 中需要改变的参数字段(数据格式为list)
  '''
  class Basics():
  # 初始化
  def __init__(self, xx_url, data, headers, variable):
  self.xx_url = xx_url
  self.data = data
  self.headers = headers
  self.variable = variable
  def basicsparameter(self):
  # 发起post请求
  url_data = requests.post(self.xx_url, data=self.data, headers=self.headers)
  # 把得到的数据转成json格式
  data_json = json.loads(url_data.text)
  # 改变请求中的参数值
  if self.variable != '':
  for i in self.variable:
  self.headers[i] = data_json[i.lower()]
  # 把请求的 数据 和 headers 存入 list中
  dic_data = {'data_json': data_json, 'headers': self.headers}
  return dic_data
  调用封装方法:
  [python] view plain
  Test.py
  [python] view plain
  Basics_Requests
  [python] view plain
  Basics_Requests.Basics(url, row_data, headers, variable).basicsparameter()
  [python] view plain
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式