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

letme · 2018年05月03日 · 最后由 冷月醉夕阳 回复于 2019年04月28日 · 7345 次阅读

源码地址: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 链接么

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

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

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

阿森 回复

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

陈恒捷 回复

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

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

letme #26 · 2018年05月04日 Author
edsion 回复

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

letme 回复

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

letme #10 · 2018年05月11日 Author
阿森 回复

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

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

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

letme #21 · 2018年05月28日 Author
cooling 回复

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

letme #14 · 2018年05月28日 Author
阿亮 回复

新人新人 去年刚毕业的

开源了吗?

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

letme #17 · 2018年05月30日 Author
北京-宏哥 回复

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

letme #18 · 2018年05月30日 Author
快达年 回复

优化断言你的想法是什么

letme 回复

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

仅楼主可见
letme #10 · 2018年06月25日 Author
gao 回复

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

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

xiangziyun2009 回复

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

xiangziyun2009 回复


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

letme #29 · 2018年07月06日 Author

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

letme 开源~自研接口测试平台 Django2+Bootstrap3+Unittest 中提及了此贴 08月17日 18:02
letme 自研接口测试平台 requestnew 中提及了此贴 02月15日 13:45

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

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