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内容】

时间: 2024-10-07 04:17:45

python自学1——接口测试的相关文章

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

机缘巧合之下,报名参加了阿奎老师发布在"好班长"的课程<用Python做HTTP接口测试>,报名费:15rmb,不到一杯咖啡钱,目前为止的状态:坚定不移的跟下去,自学+课程模式每天一小时! 1.学习初衷 打算学习Python,这个想法开始于2017年,和在网络上遇到的绝大多数测试人员不同,我的工作单位是一个大型国企,虽然从事软件测试工作已经有四年,可事实上,无论是测试理论还是实际项目经验,都处于一种停滞不前的状态,作为一个有理想的测试猿(害羞脸),这样的工作状态让人心酸,因

python自学笔记

python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 循环 6.使用dict和set 6.1 dict 6.2 set 7.函数的使用 7.1函数返回多个值,同时接受多个值 7.2函数参数的默认值 7.3可变参数的函数 7.4可变个数带参数名的入参 7.5参数类型组合 8.关于函数递归 9.python的高级特性 9.1切片 9.2遍历 9.3列表生

Python 开发与接口测试学习笔记

这是我跟着虫师学习中积累下来的学习笔记,写得比较简单,适合想学习Python开发与接口测试的初学者学习. 一.开发投票系统 1.参考官网文档,创建投票系统. https://docs.djangoproject.com/en/1.11/intro/tutorial01/ 在创建投票系统之前,要确认自己安装的Django和官网的文档是一致的. ==================== win 10 Python 3.6.2 Django 1.11.3 Pycharm编译器 ============

Python - 自学django,上线一套资产管理系统

一.概述 终于把公司的资产管理网站写完,并通过测试,然后上线.期间包括看视频学习.自己写前后端代码,用时两个多月.现将一些体会记录下来,希望能帮到想学django做web开发的人.大牛可以不用看了,小白的第一个项目,写的很low,不入眼. 二.过程 1. python自学断断续续都有好长的时间,总是零零散散,没有去完完全全开发一个项目出来,跟别人说我会python,都没有啥说服力.后来下定决心,用python去做一个网站出来.正好公司平常维护资产的时候使用的是excel表,十分不科学.领导有意思

[Python自学] 项目发布流程

一.上线准备工作 1.准备Python虚拟环境:[Linux系统] CentOS7创建Python虚拟环境 2.安装Python依赖:[Python自学] 批量安装依赖 3.部署MariaDB:[数据库] MariaDB安装及使用 4.部署Redis集群:[NoSQL数据库] Redis集群部署 5.使用uWSGI运行项目:[Python自学] uWSGI启动django项目 5.部署Nginx:[Linux系统] (8)Nginx 6.使用LVS(可选):[Linux系统] (6)LVS负载均

Python 自学不求人

自学 Python 不求人,本文介绍 Python 自学时如何获取免费权威的帮助信息. 概述 如何使用 Python 自带的 help() 方法 如何利用 Python 文档 获取中文文档 获取帮助 help 每次进入 python 解释器的交互模式时,都会先打印横幅消息,在版本信息下面就是推荐 的命令: Type "help", "copyright", "credits" or "license" for more inf

Python 自学感想

将近三十岁的我回想了一下以前的种种......感到一种莫名伤感与无奈.伤感是因为:将近三十的我还是一事无成,身无分文,浪费太多的时间在一些无用的东西上面(比如:游戏).无奈是因为:只能眼睁睁的看着时间随风飘逝,而没有任何办法留住它,任它腐蚀着我的身心. 向前面的路望了望,只看到了无尽的深渊与绝望.我看不到以后的路,找寻不到一点希望.还是玩游戏吧,至少玩的时候心里不会想到这些烦心事,但是玩过之后,又是一阵无尽的空虚与伤感.于是删了游戏,(删了装,装了又删,自已都不记得重复了多少次了)强硬着逼自己再

Python 自学笔记(一)环境搭建

一,关于Python的介绍 关于Python的介绍,我不想多说了,网上随便一搜,很多介绍,这里我主要写下我的自学Python的 过程,也是为了促进我能继续学习下去. 二,环境搭建 1,这里我只讲解Windows,因为我比较喜欢Linux,但是windows 还是必须要用的,所以对linux不是经常用(我不是职业程序猿,只是个业余爱好者),不过这都是很简单的,不论哪个平台,都无所谓了 2,下载Python ,https://www.python.org/downloads/windows/ 选择你

python在webservice接口测试中的应用

接口测试第二波,webservice接口来咯,欢迎各位小伙伴吐槽~ 本次拿免费的互联网国内手机号码归属地查询WEB服务webservice接口做例子,当然有很多免费webservice接口可以供大家使用,百度一下就有N多,手机号码归属地查询wsdl地址如下:http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl 打开后可以看到有一个getMobileCodeInfo方法,入参是一个电话号码,当然也可以通过python调