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

letme · May 03, 2018 · Last by 冷月醉夕阳 replied at April 28, 2019 · 15649 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 作者

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

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

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

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

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

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

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

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

letme #8 · May 04, 2018 作者
edsion 回复

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

letme 回复

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

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

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

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

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

letme #13 · May 28, 2018 作者
bill 回复

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

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

新人新人 去年刚毕业的

开源了吗?

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

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

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

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

优化断言你的想法是什么

letme 回复

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

gao · #20 · May 30, 2018
Author only

大佬代码呢

letme #24 · June 25, 2018 作者
gao 回复

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

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

letme #27 · June 27, 2018 作者
xiangziyun2009 回复

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

letme #28 · June 27, 2018 作者
xiangziyun2009 回复


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

letme #29 · July 06, 2018 作者

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

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

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

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