介绍

  1. 用Python来做接口自动化测试的好处,我觉得就一点,访问http接口简单,一行代码就行;
  2. 代码不用写很多,可以把若干接口配置成JSON就行;
  3. Python解析之后,将访问结果等数据保存到excel中;

大致就上面3点,每家企业的接口调用规则都会有区别,所以下面代码只能提供一种解题思路,不能拿来就用。

实现

json配置(config.json)

{"service":"http://127.0.0.1:8080","versionCode":"1","apiList":[{"api":"/app/login","name":"登录接口","type":"POST","desc":"登录之后产生的Token是之后接口的基础","params":{"password": "123", "loginName": "test"}},{"api":"/app/reportInfo","name":"上报信息","type":"POST","params":{"dyId": "", "dyName": ""}}]
}

里面的接口api和params信息等需要替换成自己需要测试的内容,而且可以根据自己的api差异进行修改和调整,符合自己的规则才是程序需要做的事。
python实现

import requests
import json
import xlwt
import timetoken = ""
headers = {"Content-Type": "application/json", "charset": "UTF-8"}
mTime = time.strftime('%Y年%m月%d日')
mWorkBook = xlwt.Workbook()
mWorkSheet = mWorkBook.add_sheet(mTime)column = 0
row = 0# xls error style excel错误样式
def errorStyle():font = xlwt.Font()# 字体类型font.name = 'name Times New Roman'# 字体颜色font.colour_index = 1# 设置背景颜色pattern = xlwt.Pattern()# 设置背景颜色的模式pattern.pattern = xlwt.Pattern.SOLID_PATTERN# 背景颜色pattern.pattern_fore_colour = 2myStyle = xlwt.XFStyle()myStyle.font = fontmyStyle.pattern = pattern  # 设置背景颜色return myStyle# 读取config.json
def read_config():""""读取配置"""with open("./config/config.json",encoding='utf-8') as json_file:config = json.load(json_file)return config# 遍历接口
def iterateApi():config = read_config()serviceAdr = config['service']for api in config['apiList']:url = serviceAdr + api['api']params = api['params']type = api['type']if type == "POST":post_json = requests.post(url=url, json=params, headers=headers)elif type == "GET":post_json = requests.get(url=url, json=params, headers=headers)print("reponse =  ", post_json.text)text = json.loads(post_json.text)getResult(api["name"], url, params, text)# 处理返回结果
def getResult(name,url,params,result={'code': '-1','msg': '默认值','entity': ""}):global columnif (column == 0):mWorkSheet.write(column, 0, "接口名")mWorkSheet.write(column, 1, "地址")mWorkSheet.write(column, 2, "参数")mWorkSheet.write(column, 3, "结果")mWorkSheet.write(column, 4, "服务器返回内容")column += 1if (result["code"] == "10000"):writeSheet(name, column, url, params, result)print("success, tip: ", result["msg"])entity = result["entity"]if (type(entity) is dict) and (result["entity"] !=None) and ("token" in result["entity"]):global tokentoken = result["entity"]["token"]global headersheaders["Cookie"] = "access_token=" + tokenprint("token = ", token)else:print("fail, tip: ", result["msg"])writeSheet(name, column, url, params, result, True)# 保存到excel
def writeSheet(name, column, url, params, result, error=False):if error is True:myStyle = errorStyle()else:myStyle = xlwt.XFStyle()# print("style = ", type(myStyle))mWorkSheet.write(column, 0, name, myStyle)mWorkSheet.write(column, 1, url, myStyle)mWorkSheet.write(column, 2, json.dumps(params,indent=2,ensure_ascii=False), myStyle)mWorkSheet.write(column, 3, result['msg'], myStyle)mWorkSheet.write(column, 4, json.dumps(result,indent=2,ensure_ascii=False), myStyle)if __name__ == '__main__':iterateApi()mWorkBook.save(mTime + ".xls")

返回参数可以根据自己的接口内容修改,大致讲解下,因为登录之后的token在其他接口都需要使用,所以,需要保存为全局变量中,供其他接口使用。
这套代码只是作为一个参考,具体怎么实现,是需要根据自己需要的接口实现方式进行修改的。

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

  1. python+requests接口自动化测试框架实例详解教程(米兔888)

    来源:https://my.oschina.net/u/3041656/blog/820023 源码:https://pan.baidu.com/s/1lgIEToiczTvvjy--p-N20g 提 ...

  2. python+requests接口自动化测试框架实例详解教程(米兔888)【适合半年或一年以上天天做自动化经验的大神下载使用】

    来源:https://my.oschina.net/u/3041656/blog/820023 源码地址,需要的回复评论留下邮箱 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测 ...

  3. python+requests接口自动化测试-详解版

    原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但 ...

  4. python+requests接口自动化测试框架实例详解教程

    前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自 ...

  5. 全网独一份python+requests接口自动化测试框架实例详解教程

    前言 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接 ...

  6. python的接口自动化测试

    python的接口自动化测试 python编码工具的下载 下载VS code 安装python环境 python的安装 开始编写代码 接下来试试简单的接口测试 总结 身为一个毕业一年的测试工程师,目前 ...

  7. python自动化测试脚本后端_基于 python 的接口自动化测试

    本文来自作者:孙彦辉 在 GitChat 上精彩分享,「阅读原文」看看大家和作者交流了哪些问题 一.简介 本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势: 然后简单讨论了一下接口测试框架 ...

  8. python requests接口自动化测试 (数据库断言)

    前言 熟练掌握接口自动化测试体系背后的这些技能和处理问题的思路,实现时间.人力.收益的平衡,对于一个经验尚浅的初.中级测试开发人员来说绝对是一个艰巨的挑战. 五步教会你写接口自动化用例 需要安装三方包 ...

  9. 基于 python 的接口自动化测试,让你轻松掌握接口自动化

    目录 目录 一.简介 ​编辑二.引言 三.环境准备 四.测试接口准备 接口信息 五.编写接口测试 六.优化 封装接口调用 一.简介 本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势: 然后 ...

最新文章

  1. 深度学习崛起那年,百度差点签下Hinton
  2. 【TypeScript】获取随机数,并随机生成年份,判断是否为闰年
  3. PrintWriter和Scanner的综合运用写文件并读文件
  4. 对抗高并发拯救系统架构,我们并不需要复仇者联盟|深圳活动
  5. 服务器cpu,内存正常, 部分网站打不开,提示死锁,应用程序池回收就正常,如何解决?...
  6. 在Win2003中安装bind【部署智能DNS】
  7. vc读取北通手柄按键_《噬血代码》手柄怎么操作 北通手柄按键功能详解
  8. 51单片机之外部引脚及总线接口
  9. 爬虫python代码网易云_python-网易云简单爬虫
  10. csgo 机器人模式_分享一个休闲模式机器人Bug
  11. Datepicker-for-Bootstrap 日期选择插件
  12. worker进程和task进程区别_worker进程和task进程区别_Storm概念学习系列之Worker、Task、Executor三者之间的关系......
  13. 简谈百度坐标反转至WGS84的三种思路
  14. 线性代数 : 矩阵消元
  15. Windows7电脑启动时提示文件winload.exe无法验证其数字签名,错误代码0xc0000428的解决方法
  16. IBM IT 企业基础架构解决方案
  17. deepin安装教程(deepin安装教程不用u盘)
  18. JS-表格行的动态删除和添加(insertRow deleteRow)
  19. 如何在bat文件中切换盘符并执行命令
  20. 防止amazon账号关联,你真需要注意的这些点

热门文章

  1. 把每天要做的事情分成大石头,小石头,沙子和水
  2. 了解如何搭建校园网,怎么能不知道基本框架呢?
  3. sublime text3安装emmet插件
  4. touch事件中的touches、targetTouches和changedTouches(详解)
  5. 屏幕监控软件有哪些?
  6. PZP技术与信息安全
  7. 安全军火库:渗透测试工具流行性大调查
  8. 西安科技大学学分计算机制,干货 | 关于绩点和学分的二三事
  9. zzulioj1103: 平均学分绩点(函数专题)
  10. 拜占庭将军问题对应的分布式一致性算法