接口测试 bootstrap3+unittest+django2 接口自动化测试平台

letme · May 03, 2018 · Last by 冷月醉夕阳 replied at April 28, 2019 · 8017 hits

源码地址:https://github.com/happyletme/requestnew
更新第二篇:https://testerhome.com/topics/14801
第三篇:https://testerhome.com/topics/15352
主要实现了项目管理,模块管理,用例管理,步骤管理,动态 Sql 配置,访问地址配置,开发数据库配置,邮箱配置,执行模块;之后需要去优化的模块 http 接口采用文件传输方式,接口依赖,日志模块,邮件模块,统计分析和 html 报告 (目前采用 HTMLTestRunner 自动生成的报告),失败重跑次数动态配置目前写死 3 次,定时执行模块
环境:
Python 3.6.4
Django 2.0.2
django-bootstrap3
pymysql,pymssql,DBUtils
Requests
Unittest

登录界面

项目和模块界面
涉及的主要是项目和模块的管理,数据的增删改查


用例和步骤界面
这里的用例有点像 unittest 的一个 case,步骤相当于 case 下面的 test 函数,一个 case 对应多个 step


接口方式目前提供了 3 种,get,post 表单,post body 体的方式,断言开关打开则使用断言,涉及到的变量都是 ${}表示


动态 sql 配置界面
动态 sql 绑定的主键是步骤名,提供了前置后置方式,是否为查询方式


访问地址配置和开发数据库配置

整个项目运行先挑选用例点击生成脚本按钮,生成任务目录和测试脚本

在 task 目录下生成本次命名的任务和对应用例名字的脚本

生成脚本如

最后点击执行任务,选择配置的访问 Ip 和数据库

生成报告

最近项目不忙,抱着写写看的想法,测试新人,请各位大神多多指点。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 29 条回复 时间 点赞

有 github 链接么

letme #2 · May 03, 2018 Author

还没,今天刚写好功能,得优化下代码

很想知道你的测试步骤是什么,是多个测试用例结合吗

这个是平台,不是框架了吧?

letme #5 · May 04, 2018 Author
阿森 回复

是单个接口多个角度的测试校验方法,就相当于 unittest 里 case 类里的以 test 开头的测试方法

letme #6 · May 04, 2018 Author
陈恒捷 回复

狭义来讲对开发者来说是框架,对使用者来说是平台

看到第四行 “环境” 这一块,我就已经没耐心往下看了。
python 标准库也算环境吗?

letme #8 · May 04, 2018 Author
edsion 回复

用到 json,os 标准库比较多,之前在想要不要写,已经删了

letme 回复

复杂业务的接口 参数是怎么准备的,是直接写吗?

letme #10 · May 11, 2018 Author
阿森 回复

复杂的接口具体指什么,设想是 1.可以通过接口依赖去编写好的接口拿返回数据当参数值,2.可以通过克隆去把系统已经存在的接口参数直接复制一个接口参数 3.可以导入接口测试完成的 jmx 文件,生成接口参数

你的断言功能需要考虑更好。比如说 response 有没有需要的字段,字段数据是否符合预期等,最近我也在做接口

新人都可以开发测试平台了,这一看就是老司机啊

letme #13 · May 28, 2018 Author
cooling 回复

还没有考虑这么多,目前断言的话是把返回结果转成 json 对象去调用里面的属性,断言的话我感觉后期可以自主添加一些正则校验去进行断言验证

letme #14 · May 28, 2018 Author
阿亮 回复

新人新人 去年刚毕业的

开源了吗?

最近发现好多人都在做,我之前也写了一个,在想怎么优化断言那部分

letme #17 · May 30, 2018 Author
北京-宏哥 回复

还没,最近在集成 python 的 apschedule 框架,在做定时任务模块,还缺一个邮件模块和一个统计分析数据报表,再开源

letme #18 · May 30, 2018 Author
快达年 回复

优化断言你的想法是什么

letme 回复

好的,谢谢,网上这个开源的也挺多的,可以参考一下

gao · #20 · May 30, 2018
Author only

大佬代码呢

letme #24 · June 25, 2018 Author
gao 回复

我代码实现的差不多了,看下怎么传到 git 上然后你去下载好了

看起来很强大,楼主 666~
没有注册功能哈,表结构和初始账户数据能提供下嘛?

letme #27 · June 27, 2018 Author
xiangziyun2009 回复

注册是采用 django 的 admin 后台自带的注册,用户名,用户组,权限分配都是框架自带的

letme #28 · June 27, 2018 Author
xiangziyun2009 回复


暂时用到的数据库表,具体的表字段属性可以看代码中的 models.py 数据库模型

letme #29 · July 06, 2018 Author

临时创了个 QQ 群 655981739,大家有兴趣的一起加群学习吧。

letme 自研接口测试平台 requestnew 中提及了此贴 15 Feb 13:45

厉害呀,用例也可以自己组装,然后出个漂亮的报告,哈哈

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up