自动化工具 rest 接口自动化测试框架

Eward · 2017年01月22日 · 最后由 trychiOO 回复于 2020年05月08日 · 3211 次阅读

看了很多接口测试框架,结合公司项目的特点。就写了个测试框架,目前已经可以满足所有 rest 接口测试。
1、开发环境:Windows,Linux 兼容,python 2.7.11
2、框架分层设计
a: Log 层
将测试过程中的日志进行分级别打印,并写入文件,log 级别和格式支持可配置使用的是 logging 模块
b:Public 层
封装 http 请求接口,json 包体转 xml 格式,Report 模块(包括 execl,html 格式),url 的封装 Execl 报告 调用了 xlsxwriter 模块。
c: 业务层
业务层里面有两个配置文件,一个是基础配置 conf.ini、另外一个是业务参数配置(每个接口参数分离)
Conf.ini 文件

Conf.ini 文件的配置可以进行扩展,引用 configparser 进行配置文件读取
业务配置文件用 execl 组织,配置接口的相关参数,

用例格式设计:Execl 管理

业务逻辑:

测试报告:详细结果和统计


代码还是比较多,后续再上传,希望看的人给我一些建议,有需要,不明白的欢迎留言
感谢 TesterHome

代码路径:链接:http://pan.baidu.com/s/1jIC2fUQ 密码:ss5a

共收到 14 条回复 时间 点赞

赞一个楼主,也在入坑接口测试,有源码更好,可以学习

如果将结果输出到数据库,就可以统计历史结果了

#1 楼 @dfan 后面我会把代码发出来参考

赞赞 期待后续代码 最近想把手头的接口测试组织起来
之前自己写的简单且杂乱

最近在搞这方面的东西,看了之后有些头绪了,学习了

#3 楼 @vz_1098 如果接口要求登录,在自动化脚本中如何处理

#6 楼 @zrleo 我这个实现的框架并不适合你的场景,你可以考虑将登陆封装成类公共调用,我在用 selenium 做 web 自动化的时候,登陆过程就是这么做的

#6 楼 @zrleo

登陆,把 cookie 中的登陆信息拿出来。


response = requests.request("POST", url, data=payload, headers=headers)
#print response.cookies
#获得登陆session
PHPSESSID = response.cookies.get("PHPSESSID")

建议接口改用 csv 文件,否则数量多了之后很难通过配置库管理

#7 楼 @vz_1098 嗯普通的登录我也是这样处理的,我们现在业务有和大一部分会依赖微信授权登录 我至今不知道改如何处理 还在学习 希望有机会交流

挺好的,学习了,还可以根据业务的需要完善完善😄

思路非常好!棒棒的
楼主,代码链接失效了。。。可以再传一下吗

同在看~ 楼主最后设计成什么样了?想交流学习下

有 git 连接吗? 云盘禁了 想学习下

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册