python自学1——接口测试

Posted

tags:

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

尝试写了一个简单的接口测试,基于Python3.4,主要用到了Python读取excel以及requests库的知识,也算是对这段时间Python基础知识学习的一个巩固吧。

因为还没有学习到Python中类、对象等相关知识,所以代码看起来很散,没有封装,也没有优化。如有问题,希望大家能帮忙指出。

import xlrd
import requests

#下文中将用到的全局变量

nrows = 0
rdict = {}
relist=[]

#从excel中导入数据

def imptestcase():

  fname = ‘testcase.xlsx‘
  bk = xlrd.open_workbook(fname)

  try:
    sheet = bk.sheet_by_name(‘case1‘)
  except:
    print("no sheet in %s named sheet1" %fname)

  global nrows
  nrows = sheet.nrows
  ncols = sheet.ncols

  for i in range(0,ncols):
    data = sheet.col_values(i)
    global rdict
    rdict[data[0]]=data[1:]

#将excel读取的数据封装成请求,并发送

def sendpost():
  #response = requests.post(url,json = data,headers = headers,verify=False)
  for i in range(0,nrows-1):
    url = rdict[‘url‘][i]

    if rdict[‘headers‘][i]!=‘‘:
      headers = eval(rdict[‘headers‘][i]) #str to dict
    else:
      headers = {}


    if rdict[‘json‘][i]!=‘‘:
      json = eval(rdict[‘json‘][i]) #str to dict
    else:
      json = {}

    if rdict[‘params‘][i]!=‘‘:
      params = eval(rdict[‘params‘][i]) #str to dict
    else:
      params = {}


    try:
      r = requests.get(url,json = json,headers = headers,params = params,verify=False)
      r.raise_for_status()
      r.encoding=r.apparent_encoding
      global relist
      relist.append(r.status_code)
    except Exception as e:
      print(e)
      print(‘请求失败‘)

#把返回的结果输出到html中,形成HTML报告(知识简单的展示,没有样式)
def output_html():
  fout=open(‘output.html‘,‘w‘,encoding=‘UTF-8‘, newline=‘‘)
  fout.write(‘<html>‘)
  fout.write(‘<head>‘)
  fout.write(‘<meta charset = "UTF-8"/>‘)
  fout.write(‘</head>‘)
  fout.write(‘<body>‘)
  fout.write(‘<h1>report<h1>‘)
  fout.write(‘<table>‘)
  fout.write(‘<tr>‘)
  fout.write(‘<td>%s</td>‘ % relist)
  fout.write(‘</tr>‘)
  fout.write(‘</table>‘)
  fout.write(‘</body>‘)
  fout.write(‘</html>‘)
  fout.close()

if __name__ == ‘__main__‘:
  imptestcase()
  sendpost()
  output_html()

【excel内容】

技术分享









































































以上是关于python自学1——接口测试的主要内容,如果未能解决你的问题,请参考以下文章

《用Python做HTTP接口测试》学习感悟

我要自学python 自动化-request库

Python接口测试实战4(上) - 接口测试框架实战

Python接口测试实战3(下)- unittest测试框架

Python接口测试实战3(上)- Python操作数据库

Python接口测试实战5(上) - Git及Jenkins持续集成